MainFrm中内容
ID     
Name
add
class
在id对应的textbox1中输入ID后,若ID对应数据库中有记录,需要在光标离开textbox1时,将其他信息显示对应在textbox中,除textbox1内容外,直接在其他textbox中修改内容后点button(修改按钮),则提交进数据库,完成修改;若无对应该记录,则光标离开textbox1时,提示无此记录.我现在自己写的代码是不管输入ID在数据库中有没有内容,都会提示修改成功,这显然不对头的,请高手指点

解决方案 »

  1.   

    SqlConnection con = new SqlConnection("server=.;database=Dyczbt;uid=sa;pwd= "); 
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con;
                cmd.CommandText ="update MainTable set name='"+textBox2.Text.Trim().ToString() + "',add='"+textBox3.Text.Trim().ToString() + "',class='"+textBox4.Text.Trim().ToString() + "'where signno="+textBox1.Text.Trim().ToString() ;
                con.Open();
                cmd.ExecuteNonQuery();
                cmd.ExecuteNonQuery();
                MessageBox.Show("数据修改成功!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);这个代码有两个问题
    第一,在textbox1中输入iD后,没有将该ID对应的记录,在textbox2,textbox3^^^^^中显示出来
    第二,在update之前,没有先判断数据表中是否已经存在该记录请高手指教这两个问题   谢谢
      

  2.   

    MainFrm中内容 
    ID    
    Name 
    add 
    class 
    在id对应的textbox1中输入ID后,若ID对应数据库中有记录,需要在光标离开textbox1时,将其他信息显示对应在textbox中,除textbox1内容外,直接在其他textbox中修改内容后点button(修改按钮),则提交进数据库,完成修改;若无对应该记录,则光标离开textbox1时,提示无此记录. 我现在自己写的代码是不管输入ID在数据库中有没有内容,都会提示修改成功,这显然不对头的,请高手指点SqlConnection con = new SqlConnection("server=.;database=Dyczbt;uid=sa;pwd= "); 
                SqlCommand cmd = new SqlCommand(); 
                cmd.Connection = con; 
                cmd.CommandText ="update MainTable set name='"+textBox2.Text.Trim().ToString() + "',add='"+textBox3.Text.Trim().ToString() + "',class='"+textBox4.Text.Trim().ToString() + "'where signno="+textBox1.Text.Trim().ToString() ; 
                con.Open(); 
                cmd.ExecuteNonQuery(); 
                cmd.ExecuteNonQuery(); 
                MessageBox.Show("数据修改成功!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); 这个代码有两个问题 
    第一,在textbox1中输入iD后,如果有该记录,将该ID对应的记录,在textbox2,textbox3^^^^^中显示出来 
    第二,在update之前,先判断数据表中是否已经存在该记录 请高手指教这两个问题  谢谢
      

  3.   

    在你textbox1失去焦点的事件写代码,根据输入的ID在数据库中查询数据判断是否有记录的话有的话就读出来显示的在textbox2和3上
    关于第二个的问题,如果有记录的话数据都自己显示出来了还要你判断什么?直接更新就可以了,你可以在更新之前弹出一个提示是否更新的对话框,是的话就更新不是就不更新
      

  4.   

    先查询select top 1 * from  MainTable where name='"+textBox2.Text.Trim().ToString()SqlDataReader reader=sqlcommand.ExecuteReader();if(!reader.Read())
    无数据返回提示!
    return;
    有数据显示数据
      

  5.   

    你只有一个UPDATE语句,当然只会显示修改情况不会显示对应记录了.
    UPDATE前先SELECT 一下.
      

  6.   

    int Result= cmd.ExecuteNonQuery(); //返回受影响的行数。
    if(Result>0)
    MessageBox.Show("数据修改成功!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); 
      

  7.   

    1.托控件 
    2.连接数据库ADO.net 
    3.获取textbox1的值-textbox1.text转换数据类型(int)  int id=convert.toin32(textbox1.text.trim()) 
    4.定义SQL语句(select count(*) from MainFrm where ID=id )判断结果是否大于0  即是否存在 
    if(大于0){ 
    在根据id从数据库中搜出所有信息 datereade对象 对控件赋值 在写一个update语句 
    从控件中获取修改值 更新数据库 } 
      

  8.   

    你引用textBox的一个方法,事件里找到KeyUp写代码就可以了