解决方案 »

  1.   


    我对列的重命名是通过DataSet完成了,那这样还有办法更新进去吗
      

  2.   


    ds.Tables["表名"].Columns.Remove("列名");
    这种我也不能保存到数据库诶,但是不提示错误
      

  3.   


    ds.Tables["表名"].Columns.Remove("列名");
    这种我也不能保存到数据库诶,但是不提示错误
    你误解了我的意思,你这样操作是把那一列给删掉了,其他列依然和数据库不一致,比如说数据库有8列,而你的Ds中只有7列,我是说列名必须和数据库完全一致才行
      

  4.   

    那DataSet没办法删除 重命名列了吗?看来只能是直接访问数据库了
      

  5.   

    那DataSet没办法删除 重命名列了吗?看来只能是直接访问数据库了
    你还是没理解我的意思,DataSet可以删除列,也可以重命名列,这个都是DataSet能做的,但是你要写入数据库,SQL语句是不允许列名和列的条数不一致的,这样是为了保证数据的完整性,打个比方:
    你数据库里面有  Name,Age两列,你的DataSet里面只有一个 Name列,这样数据能插入数据库吗?显然是不能的
    或者说你的DataSet里面一个School,一个Age列,你当然可以把这两列插入数据库中,但是列名不同,如果你不另外做处理,显然你的SQL语句就成了  Insert into Table(School,Age) values(...,...),这样显然是错误的,因为数据库里面并没有School列
      

  6.   

    那DataSet没办法删除 重命名列了吗?看来只能是直接访问数据库了
    你还是没理解我的意思,DataSet可以删除列,也可以重命名列,这个都是DataSet能做的,但是你要写入数据库,SQL语句是不允许列名和列的条数不一致的,这样是为了保证数据的完整性,打个比方:
    你数据库里面有  Name,Age两列,你的DataSet里面只有一个 Name列,这样数据能插入数据库吗?显然是不能的
    或者说你的DataSet里面一个School,一个Age列,你当然可以把这两列插入数据库中,但是列名不同,如果你不另外做处理,显然你的SQL语句就成了  Insert into Table(School,Age) values(...,...),这样显然是错误的,因为数据库里面并没有School列好的,谢谢啊