楼主你DeBug过吗?看看是哪一句出错,再来讨论吧。

解决方案 »

  1.   

    我这里有个UPDATA的例子,你参考一下: private void button3_Click(object sender, System.EventArgs e)
    {
               mycnn=new OleDbConnection(@"Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=f:\dazhu.mdb");
    mycnn.Open();
    if(mycnn.State==System.Data.ConnectionState.Open)
    {
    MessageBox.Show("  数据库连接成功!!!","ts");
    myada=new OleDbDataAdapter("select * from 个人信息",mycnn);

                
    ds=new DataSet();
                     myada.Fill(ds,"one");
                    

    }
    } private void button1_Click(object sender, System.EventArgs e)
    {
    DataTable mytable=new DataTable();
    mytable=ds.Tables["one"];

    //更新行

    foreach(DataRow row1 in mytable.Rows)
    {
    if(row1[1].ToString().Substring(0,1)=="朱")
    {
    row1[2]="1proi0"+i.ToString();
          row1[3]="江苏ok"+i.ToString();



    }

    }
                
    //更新  用参数的形式来实现


    try
    {  mycmd=new OleDbCommand("update 个人信息 set tel=@a,jg=@b where name=@c",mycnn);
    mycmd.Parameters.Add("@te1l",System.Data.OleDb.OleDbType.VarChar,20,"tel");
    mycmd.Parameters.Add("@j1p",System.Data.OleDb.OleDbType.VarChar,50,"jg");
    mycmd.Parameters.Add("@na1me",System.Data.OleDb.OleDbType.VarChar,20,"name"); 
    myada.UpdateCommand=mycmd;
    myada.Update(ds,"one");
            
    MessageBox.Show("  数据更新成功!!!");

    }
    catch(Exception my)
    {
                       MessageBox.Show(my.Message.ToString());
    }

    }
      

  2.   

    我劝你直接用DataTbale吧,反正你只有一张表。DT应该不会有问题的。就是把DS换成DT而已
      

  3.   

    三楼的是强,光一个updata就用到Parameters...
      

  4.   

    “C:\matrix\source\repsta\forms\f_login.cs(278): 找不到类型或命名空间名称“DataTable”(是否缺少 using 指令或程序集引用?)”哪里有问题?
      

  5.   

    原来datatable在system.data里面,我还以为和dataset在一起呢。
      

  6.   

    回复人: AlexVS(牧羊叔叔) ( ) 更新不用Parameters吗?我只知道两种更新方法。一个ExecuteNonQuery()
    再就要SqlDataAdapter的更新UpdataCommand了。