update set 字段名=""
这里的字段名要用变量表示怎么办?

解决方案 »

  1.   


    string str = "update table set col='" + TextBox1.Text +"'";是这个意思么
      

  2.   

    c#
    string strname = "bb";
    string sql = "update tb set name='"+strname+"'";sql
    declare @strname varchar(50)
    set @strname='bb'update tb set name=@strname

    exec('update tb set name='''+@strname+'''')
      

  3.   

    比如 string id="";
    update tb set id=""
    是字段名
      

  4.   

    create table tb(name varchar(50))
    insert into tb select 'a'declare @colname varchar(50)
    set @colname='name'
    exec('update tb set '+@colname+'=''bb''') select * from tbbb
      

  5.   

    如果你更新到库里的是字符串的话,你要这样写
    update set 字段名='"+变量名+"';
    如果是数值型的要:
    update set 字段名="+变量名+";
      

  6.   

    要看你的SQL语句是在哪儿产生的,如果你是在C#代码中动态组装的,那如下:
    string id="字段名"; 
    string sValue = "字段值";
    string sqlStr = "update tb set " + id + "=" +  sValue;
    如果是你的变量是指数据库中的,比如在写数据库函数或存储过程,那如下:
    declare @colname varchar(50)
    set @colname='name'
    exec('update tb set '+@colname+'=''bb''') 
    当然,如果你不想组装SQL语句,那就使用游标,把变量做为参数传给游标.
      

  7.   

    拼接一个字符串
    然后使用系统存储过程:sp_executesql  就可以达到效果......