现有一个表pay.
字段是根据客户可以动态添加和修改的.
如客户添加了
基本工资 奖金 等字段
如果不是动态的.就好办:可以用
insert into PAY(基本工资,资金)
      VALUES(@基本工资,@奖金)      关键是现在字段是动态的.我真不知道应该怎么办?  
         大家帮帮我吧!

解决方案 »

  1.   

    表pay(column1, value1, column2, value2, column3, value3)
    表column(id, columnname)在pay的column1,2,3里面填表column的id,value1,2,3里面填值
      

  2.   

    使用系统表syscolumns, sysobjects,把列字段读取出来,定义一个变量
    declare @strInsert varchar(1000)
    set @strInsert='insert into pay'+ 拼写从系统表读出来的字段就可以了
    最后
    exec(@strInsert)
      

  3.   

    实现肯定能实现,动态sql就行。
    不过感觉你的表设计有问题。
    你应该重新考虑一下你的设计。
      

  4.   

    把你的控件的id换成表的列名,
    如textbox1.id="基本工资";
    sql="";
    sql1="";
    if(textbox1.text!="")
    {
    sql+=","+textbox1.id;
    sql1+=",'"+textbox1.text+"'";
    }
    sql+="insert into PAY("+sql.substring(1)+") "+"values("+sql1.substring(1)+")";
      

  5.   

    不知道你是用什么来显示的。
    如果是textbox的话,只要判断一下就好了。如果是datagrid的话,可以先对datatable的数据进行处理。