【发布时间】:2013-01-24 13:54:40
【问题描述】:
我正在开发 vb.net 项目。我正在使用 VS2010 和 SQL Server 2008。
我的数据库中有很多表,其中有members 和bank。
-
members包含列:id_member, name, mobile, tel -
bank包含id_bank, name_bank
然后我创建了 member_bank 两列表:members.id 和 bank_id 用于这两个表之间的 m:n 关系。
如何在members 中插入详细信息,并直接将会员ID 与member_bank 表中的银行ID 连接起来?
我写了这段代码,但它不起作用:
Dim saveok As Boolean = wnclass14.SQLExicute("Insert Into members (member_name,member_id,mobile,tel) values ('" & TextstdntName.Text & "','" & Textid.Text & "','" & TextMobile.Text & "','" & Texttel.Text & "')")
If saveok = True Then
Dim saveok1 As Boolean = wnclass14.SQLExicute("Insert Into member_bank (id_member,id_bank) values (" & ComboBoxBank.SelectedValue & ") where member_bank.id_member=members.id")
If saveok1 = True Then .......
【问题讨论】:
-
我不知道
wnclass14是什么,但要么他们拼错了Execute,要么这不是您的实际代码。 “不起作用”是什么意思 - 错误消息?一点效果都没有? -
哎呀!该代码容易受到 sql 注入的影响。您不能使用字符串连接将输入到用户文本框中的数据包含在您的 sql 命令字符串中。太可怕了。如果我在学生姓名字段中输入文本
';DROP Table members;--会怎样?想想会发生什么。或者,也许先备份您的数据库并自己尝试一下。然后去了解参数化查询。
标签: sql vb.net sql-server-2008 insert