
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也是个变量,怎么办才能实现此功能??
展开
4个回答
展开全部
这里有两处错误,第一处是你应该是拼接字符串形成的这条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执行时,可以有一个确定的值让数据库去设置就可以了。
而不是你这样写。
第二处是你说必须时常量,这个从各种意义上讲都很不严谨,字符串拼接这种,虽然拼进去的是死的,但实际上你的TextBox1.Text和namy都可以是变量,而且,在实际应用中,oracle的update语句中set的字段是可以等于一个子查询的检索结果的,即update table set aaa = (select bbb from table2 where ccc = '1') 这样的,所谓的常量,应该说是一个确定的值,只要sql执行时,可以有一个确定的值让数据库去设置就可以了。
展开全部
这个语句是错的!
应该是这样才可以的:
string sql = "update mydatabase.dbo.[user] set code = '"+TextBox1.Text+"' where name = '"+
name的变量(如namy)+"'";
set在数据库范围内可以给赋值,但不是只只能赋值给常量,而是赋值给字段或变量,值可以是值或表达式!
应该是这样才可以的:
string sql = "update mydatabase.dbo.[user] set code = '"+TextBox1.Text+"' where name = '"+
name的变量(如namy)+"'";
set在数据库范围内可以给赋值,但不是只只能赋值给常量,而是赋值给字段或变量,值可以是值或表达式!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩 说的很对啊! name 是数据库中的字段啊 namy是赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
name 加个中括号,[name]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询