在线请教各位大侠,datagridview数据无法更新!

xiefuming 2009-09-29 04:23:07
我程序中有个datagridview控件,现在的问题是,如果我更新的是日期(就是下面代码中的rtime字段),则更新失败,无法对日期进行修改,请问各位大侠要怎么解决呢?谢谢!
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
DataRowView drv = this.dataGridView1.CurrentRow.DataBoundItem as DataRowView;
string sqlupdate = "update record set PName='" + drv["PName"].ToString()
+ "',rtime='" + drv["rtime"].ToString()
+ "',area='" + drv["area"].ToString()
+ "',banci='" + drv["banci"].ToString()
+ "' where PName='" + drv["PName"].ToString()
+ "' and rtime='" + drv["rtime"].ToString()
+ " ' ";

try
{
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
MessageBox.Show("更新成功!");
this.dataGridView1.Refresh();
}
else
{
MessageBox.Show("更新失败!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
login.conn.Close();
}
}
...全文
73 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
龍过鸡年 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xiefuming 的回复:]
引用 7 楼 qqamoon 的回复:
建议你加一个标识列再试试,比如 ID 之类的,通过 Where ID = ? 进行记录定位。

考虑过这种方式,我用的是SQL Server。如果增加一个ID列,在删除中间记录的时候,序号就不是连续的,序号也会一直增长上去,也不是个好的方法。
[/Quote]

你太实在来,DataGridView 中是可以隐藏列的,但是 ID 列的数据依旧可以获取啊~
xiefuming 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qqamoon 的回复:]
建议你加一个标识列再试试,比如 ID 之类的,通过 Where ID = ? 进行记录定位。
[/Quote]
考虑过这种方式,我用的是SQL Server。如果增加一个ID列,在删除中间记录的时候,序号就不是连续的,序号也会一直增长上去,也不是个好的方法。
龍过鸡年 2009-09-30
  • 打赏
  • 举报
回复
建议你加一个标识列再试试,比如 ID 之类的,通过 Where ID = ? 进行记录定位。
xiefuming 2009-09-29
  • 打赏
  • 举报
回复
也不是没有满足条件的。满足条件的值肯定是有的,因为我是在datagridview中选中要修改的记录,然后双击该记录进入编辑模式进行修改的。
freeboy827 2009-09-29
  • 打赏
  • 举报
回复
说明没有满足的条件的
不是更新失败,而是没有更新
xiefuming 2009-09-29
  • 打赏
  • 举报
回复
语句是没问题的,当我修改的不是where后面的字段的时候,就可以完成修改更新,但是如果是修改where后面两个字段中的一个,就会出现更新失败。我现在是想寻求一个解决方案!
龍过鸡年 2009-09-29
  • 打赏
  • 举报
回复
你先 Show 一下 sqlupdate 看看
xiefuming 2009-09-29
  • 打赏
  • 举报
回复
没错误,只是说更新失败!
lude8880 2009-09-29
  • 打赏
  • 举报
回复
什么错误?

110,535

社区成员

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

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

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