c#中的sql问题~急,在线等。。

stringsql="updatemydatabase.dbo.userSETcode=TextBox1.Textwherename=namy";据说set只能赋值给常量... string sql = "update mydatabase.dbo.user SET code= TextBox1.Text where name=namy"; 据说set只能赋值给常量,我这是个变量 ,name也是个变量,怎么办才能实现此功能?? 展开
 我来答
lzh3452
2012-05-21 · TA获得超过1045个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:935万
展开全部
这里有两处错误,第一处是你应该是拼接字符串形成的这条sql所以你的TextBox1.Text和namy都应该把实际的值拼进去,即string sql = "update mydatabase.dbo.user set code = '"+TextBox1.Text+"' where name = '"+namy+"'";
而不是你这样写。
第二处是你说必须时常量,这个从各种意义上讲都很不严谨,字符串拼接这种,虽然拼进去的是死的,但实际上你的TextBox1.Text和namy都可以是变量,而且,在实际应用中,oracle的update语句中set的字段是可以等于一个子查询的检索结果的,即update table set aaa = (select bbb from table2 where ccc = '1') 这样的,所谓的常量,应该说是一个确定的值,只要sql执行时,可以有一个确定的值让数据库去设置就可以了。
乾飞昂0i3
2012-05-21 · TA获得超过7690个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:4167万
展开全部
这个语句是错的!

应该是这样才可以的:
string sql = "update mydatabase.dbo.[user] set code = '"+TextBox1.Text+"' where name = '"+
name的变量(如namy)+"'";

set在数据库范围内可以给赋值,但不是只只能赋值给常量,而是赋值给字段或变量,值可以是值或表达式!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安静的Wind
2012-05-21 · 超过76用户采纳过TA的回答
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:336万
展开全部
恩 说的很对啊! name 是数据库中的字段啊 namy是赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怀晴曦2O
2012-05-21 · TA获得超过105个赞
知道答主
回答量:162
采纳率:0%
帮助的人:103万
展开全部
name 加个中括号,[name]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式