注册 登录
编程论坛 ASP.NET技术论坛

[求助]弱弱地问一个数据库增加记录的问题

cobby 发布于 2007-07-13 15:37, 1446 次点击
我用以下语句向数据库的表中增加一条记录,三列,分别是姓名、密码和性别。
cmd = New SqlCommand("insert into info (name,password,sex) values ('qwe','123','m')", con)
cmd.ExecuteNonQuery()
用这句话可以成功地增加记录。可是这种方式增加的是常量,如果我想增加一些变量,其值由用户输入确定,代码应该如何改呢?我改成
cmd = New SqlCommand("insert into info (name,password,sex) values (myname,mypwd,mysex)", con)
cmd.ExecuteNonQuery()
系统提示“在此上下文中不允许使用 'myname'。此处只允许使用常量、表达式或变量。不允许使用列名。”

多谢帮忙了!
12 回复
#2
botailang2007-07-13 16:23
cmd = New SqlCommand("insert into info (name,password,sex) values (myname,mypwd,mysex)", con)
以上红色标注的是你定义的变量吗?
如果是,你试试改成以下形式:
cmd = New SqlCommand("insert into info (name,password,sex) values (@myname,@mypwd,@mysex)", con)
看看行吗?
#3
ifforever2007-07-13 16:31
cmd = New SqlCommand("insert into info (name,password,sex) values ("+myname+","+mypwd+","+mysex+")", con)
用这个
#4
cobby2007-07-13 16:57
调试出来了,一定要用
cmd = New SqlCommand("insert into info (name,password,sex) values ('" + myname + "' ,'" + mypassword + "' , '" + mysex + " ')", con)

2楼的@符号可能是用在C#里的吧。谢谢各位了!
#5
stggg2007-07-13 17:08
回复:(cobby)调试出来了,一定要用cmd = New SqlCo...
是参数,可以利用SqlParameter 传进value

cmd = New SqlCommand("insert into info (name,password,sex) values ('" + myname + "' ,'" + mypassword + "' , '" + mysex + " ')", con)
这样就挺好
#6
cobby2007-07-13 17:15
楼上的什么意思?什么参数啊?还有更简单的方法吗?我就只会这么一种办法了
#7
bygg2007-07-13 17:21
你的添加数据是从哪里来的/???
#8
cobby2007-07-13 17:46
语句?书上看到的呀
#9
bygg2007-07-13 17:52
不是语句,是values() 里面的数据是哪里来的.加进去就行了
#10
cyyu_ryh2007-07-13 17:53

看是不是从文本筐里传来的数据撒

#11
cobby2007-07-13 18:21

是的呢,打算是由用户从文本框输入,输入什么,就增加到数据库里

#12
bygg2007-07-13 18:43
string inStr = "insert into info (name,password,sex) values ('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"')"
cmd = New SqlCommand(inStr, con)
cmd.ExecuteNonQuery()
#13
阑珊火2007-07-13 21:08
cmd = New SqlCommand("insert into info (name,password,sex) values ('" & myname &"' ,'" & mypassword & "' , '" & mysex & " ')", con)
1