@a1是列名传递参数可能不行
但这么写可以:
dim a1 as string
Dim lect As String = "update tab set " + a1 + "= @a2 where tz01='2'"
a1="col1"
MyCommand.Parameters.Add(New SqlParameter("@a2", SqlDbType.NVarChar, 10)) '@a2 为传递的更新的值
MyCommand.Parameters("@a2").Value = text1.Text.ToString
MyCommand.ExecuteNonQuery()
------------------------------
这么写可能也行,我没有测试:Dim MyCommand As SqlComman
Dim lect As String = " declare Str varchar(80) select Str='update tab set'+ @a1+'='+ @a2 'where tz01='+''2'' exec str"
MyCommand = New SqlCommand(lect, cla.myConnection)
MyCommand.Parameters.Add(New SqlParameter("@a1", SqlDbType.NVarChar, 10)) '@a1 为传递的需更新表的列名
MyCommand.Parameters("@a1").Value = lable1.text.tostring
MyCommand.Parameters.Add(New SqlParameter("@a2", SqlDbType.NVarChar, 10)) '@a2 为传递的更新的值
MyCommand.Parameters("@a2").Value = text1.Text.ToString
MyCommand.ExecuteNonQuery()
但这么写可以:
dim a1 as string
Dim lect As String = "update tab set " + a1 + "= @a2 where tz01='2'"
a1="col1"
MyCommand.Parameters.Add(New SqlParameter("@a2", SqlDbType.NVarChar, 10)) '@a2 为传递的更新的值
MyCommand.Parameters("@a2").Value = text1.Text.ToString
MyCommand.ExecuteNonQuery()
------------------------------
这么写可能也行,我没有测试:Dim MyCommand As SqlComman
Dim lect As String = " declare Str varchar(80) select Str='update tab set'+ @a1+'='+ @a2 'where tz01='+''2'' exec str"
MyCommand = New SqlCommand(lect, cla.myConnection)
MyCommand.Parameters.Add(New SqlParameter("@a1", SqlDbType.NVarChar, 10)) '@a1 为传递的需更新表的列名
MyCommand.Parameters("@a1").Value = lable1.text.tostring
MyCommand.Parameters.Add(New SqlParameter("@a2", SqlDbType.NVarChar, 10)) '@a2 为传递的更新的值
MyCommand.Parameters("@a2").Value = text1.Text.ToString
MyCommand.ExecuteNonQuery()
解决方案 »
- 网站引路优酷视频的问题,达到这个效果。
- 使用GridView分页时,保持内嵌控件状态的技巧。(散分100)
- 关于RadioButton选中的问题
- 还是showModalDialog的问题
- 紧急求援:如何得到用户的确认信息,从而进行相应的操作!!!!
- 在winform中,双击datagrid的某一项时,如何取到双击项的文本?各位帮帮忙啦,在线等。
- 哪里有省 市 区的联动代码
- iis7 删除虚拟目录下的文件 被拒绝访问
- 页面中有两个按钮,如何实现点击其中一个,触发另外一个按钮的事件?
- “未将对象引用设置到对象的实例”到底是什么错误?最近总是遇到?
- 小弟刚接触.NET千万别见笑啊 打开项目的问题
- .net 下怎么连接Mysql
CREATE PROCEDURE [OWNER].[PROCEDURE NAME] AS
update mytable set @a1=@a2这样它报错是:@a2没有定义,可见过了@a1,就是说不能使用列参数。
declare @t2 varchar(10)
select @t1= 'name'
select @t2 = 'type'
declare @sql varchar(30)
select @sql ='update a set '+@t1+ ' = '+ @t2
exec(@sql)
Dim lect As String = "update tab set "&lable1.text.tostring&"= @a2 where tz01='2'" //这列在VB.NET中可以取得值。
MyCommand = New SqlCommand(lect, cla.myConnection)
MyCommand.Parameters.Add(New SqlParameter("@a2", SqlDbType.NVarChar, 10)) '@a2 为传递的更新的值
MyCommand.Parameters("@a2").Value = text1.Text.ToString
MyCommand.ExecuteNonQuery()