C# datagridview 更新

wangyu071003 2013-03-18 07:49:32
我想用datagridview控件显示SQL server数据库里面的表的部分信息,然后再控件里面对数据进行修改,进而修改数据库里面的信息。

当我让datagridview控件显示表的全部信息的时候,我知道怎么更新,

但是当我显示表的部分信息时,用同样的代码就是不能用。

请问,哪位大神遇到过这样的问题,谢谢!!
...全文
301 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyu071003 2013-05-06
  • 打赏
  • 举报
回复
我最后弄的自定义主键,解决问题了,谢谢各位大神!!!
  • 打赏
  • 举报
回复
22# 隐藏显示数据一般有3种方法 1.隐藏的列设为false 2.把列宽度设为0 3.自定义视图 采用自定义视图的操作控件编辑时,需把控件绑定的数据表(或控件单元格)变动再次用代码去修改原表,再用原表去更新数据库就可以了,这种方法虽说多写一点代码,灵活性比较好,也多写不了几行代码.如我上面链接中的例举.
_小黑_ 2013-03-19
  • 打赏
  • 举报
回复
你数据库内没有主键
  • 打赏
  • 举报
回复
你把主键列取出来了吗?把主键取出来。
pengou383981914 2013-03-19
  • 打赏
  • 举报
回复
你把 datagridview的datasource属性转换成 datatable 类型 可以把datatable当作参数 传给 你 要更新的方法
wangyu071003 2013-03-19
  • 打赏
  • 举报
回复
引用 11 楼 xianfajushi 的回复:
引用 楼主 wangyu071003 的回复:当我让datagridview控件显示表的全部信息的时候,我知道怎么更新,

但是当我显示表的部分信息时,用同样的代码就是不能用。

……
如我所述,就看你是怎么显示部分信息的代码,然后来论怎么处理更新问题.


老出现这个错误
wangyu071003 2013-03-19
  • 打赏
  • 举报
回复
引用 11 楼 xianfajushi 的回复:
引用 楼主 wangyu071003 的回复:当我让datagridview控件显示表的全部信息的时候,我知道怎么更新, 但是当我显示表的部分信息时,用同样的代码就是不能用。 …… 如我所述,就看你是怎么显示部分信息的代码,然后来论怎么处理更新问题.
我是先通过条件,选择数据库中符合条件的部分行,然后隐藏了其中的部分列,最后只显示一列,对这列进行更新,
  • 打赏
  • 举报
回复
引用 楼主 wangyu071003 的回复:
当我让datagridview控件显示表的全部信息的时候,我知道怎么更新, 但是当我显示表的部分信息时,用同样的代码就是不能用。 ……
如我所述,就看你是怎么显示部分信息的代码,然后来论怎么处理更新问题.
wangyu071003 2013-03-19
  • 打赏
  • 举报
回复
引用 9 楼 l397870376 的回复:
你把 datagridview的datasource属性转换成 datatable 类型 可以把datatable当作参数 传给 你 要更新的方法
问一下,是不是用UPdate更新的时候,是不是必须显示数据库全部信息才行?
_小黑_ 2013-03-19
  • 打赏
  • 举报
回复
你把 datagridview的datasource属性转换成 datatable 类型 可以把datatable当作参数 传给 你 要更新的方法
wangyu071003 2013-03-19
  • 打赏
  • 举报
回复
引用 6 楼 xianfajushi 的回复:
部分显示数据就我知道和使用的有2种方法,1自定义视图,2隐藏列,各自处理更新数据库的方法也不同的. 起码你得告知用那种方法做部分显示处理. 就我猜你应该是用自定义视图方式显示部分数据,然后在控件中修改,这种方式是不会反映到数据表变动的,需写代码修改要更新数据库的表才有用.
可能我没表述明白,我是想显示数据库内部分行,部分列的信息,特定选择部分表格显示,然后对表格进行更新,这个可以吗?
wangyu071003 2013-03-19
  • 打赏
  • 举报
回复
引用 4 楼 lye2000000_super 的回复:
显示部分信息的时候是不是全部列都取出来了呢?
全部列都取出来就可以了吗?
  • 打赏
  • 举报
回复
部分显示数据就我知道和使用的有2种方法,1自定义视图,2隐藏列,各自处理更新数据库的方法也不同的. 起码你得告知用那种方法做部分显示处理. 就我猜你应该是用自定义视图方式显示部分数据,然后在控件中修改,这种方式是不会反映到数据表变动的,需写代码修改要更新数据库的表才有用.
编程小狂人 2013-03-19
  • 打赏
  • 举报
回复
是不是缺少方括号啊,使用DataGridView更新数据库时一定不用忘记使用SQL语句,也可以用Commandbuilder自动生成SQL语句的,DataGridView更新数据库的原理就是通过对DataTable的操作来完成的啊,使用CommandBuilder可以轻松完成啊
  • 打赏
  • 举报
回复
显示部分信息的时候是不是全部列都取出来了呢?
lyy359477261 2013-03-19
  • 打赏
  • 举报
回复
引用 6 楼 xianfajushi 的回复:
部分显示数据就我知道和使用的有2种方法,1自定义视图,2隐藏列,各自处理更新数据库的方法也不同的. 起码你得告知用那种方法做部分显示处理. 就我猜你应该是用自定义视图方式显示部分数据,然后在控件中修改,这种方式是不会反映到数据表变动的,需写代码修改要更新数据库的表才有用.
我同样是这个问题,我是建立了一个表部分列的视图操作删除,然后需要更新dategridview,一直弄不出来
狼烟辉 2013-03-19
  • 打赏
  • 举报
回复
sql语句的条件加上.
_小黑_ 2013-03-19
  • 打赏
  • 举报
回复
主键 相当于索引,你可以把主键列 设置成 自增列
wangyu071003 2013-03-19
  • 打赏
  • 举报
回复
引用 19 楼 l397870376 的回复:
引用 18 楼 wangyu071003 的回复:引用 16 楼 l397870376 的回复: 你数据库内没有主键 确实没有主键,我正在想怎么样确定主键,数据库可能经常需要删除、添加、更新,而每一列都可能存在相同的东西,不好确定主键列 那你就 自己加一列主键
问您一下,这个主键列用数字编号是不是不太方便啊,因为数据库会随时进行添加删除操作
_小黑_ 2013-03-19
  • 打赏
  • 举报
回复
引用 18 楼 wangyu071003 的回复:
引用 16 楼 l397870376 的回复: 你数据库内没有主键 确实没有主键,我正在想怎么样确定主键,数据库可能经常需要删除、添加、更新,而每一列都可能存在相同的东西,不好确定主键列
那你就 自己加一列主键
加载更多回复(4)

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧