问题描述:
    选中datagrid中的一行,当点击修改后,出现新的form ,选中的一行数据会显示在新form中的textBox中,这个过程我是直接在俩个窗体进行参数传递的。而我要在新的form中修改数据,点击确定后修改,数据库会更新,datagrid中也会同时更新。datagrid更新好做,重新绑定一次就行,关键是数据库更新时,当把选中一行的数据全修改后,怎么在数据库中找此记录?
    我的SQL语句是“updata 表 set 表段1=@表段1 ,表段2=@表段2 where 表段1=@表段1”
    //参数1.Value = textBox1.text
    //ADD.参数1
    执行到ExecuteNonQuery()语句时出错了~~    有点乱:(
    不清楚晚上把代码贴一些吧
    up

解决方案 »

  1.   

    设置数据库表的关键字段,标记唯一的记录.
    你也可参考MSDN上的开放式并发:
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconoptimisticconcurrency.htm
      

  2.   

    当把选中一行的数据全修改后,怎么在数据库中找此记录?
    --------------------------------
    要是不知道这一条记录,你是怎么修改它的???
    它肯定有个关键字段(主键),在update时记住它,用session或其他什么的,反正你要记住它,然后在用
    "select * from tablename where 关键字=关键字"
    -----------------------------
    不过又感觉好像是你的update语句有问题,
    "updata 表 set 表段2=@表段2 where 表段1=@表段1"//不能更新"表段1"
    如果条件中有"表段1=@表段1",这说明"表段1"是关键字,可以靠它找到你更新的那条记录,在update中也不能更新它,如上修改后的语句
      

  3.   

    我的表段1是关键字,改成"updata 表 set 表段2=@表段2 where 表段1=@表段1"
    结果还是提示ExecuteNonQuery()语句:系统错误
      

  4.   

    那请问怎样实现dataGrid的风时更新啊??
      

  5.   

    狂晕了~~
    是update 我写成 updata了
    ~~~~~~~~
    晕~~~
     
    给分了~~~