private void button2_Click(object sender, EventArgs e)
        {
            //数据库链接
            openconnection();
            string str = "select * from stu";
            OleDbDataAdapter da = new OleDbDataAdapter(str, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            OleDbCommandBuilder cmb = new OleDbCommandBuilder(da);
            da.UpdateCommand = cmb.GetUpdateCommand();
            DataRow drx = ds.Tables[0].NewRow();
            drx["name"] = textBox2.Text;
            drx["english"] =textBox3.Text;
            drx["comp"] = textBox4.Text;
            ds.Tables[0].Rows.Add(drx); 
            da.Update(ds); 
        }drx["name"] = textBox2.Text; // 提示说格式不对应该是int16,但是我转换之后提示输入字符串的格式不正确。DataSet和OleDbDataAdapter  的插入更新和删除苦恼我一天了,郁闷啊!
能不能给我提供点例子或者文章让我看下。我实在是无奈。

解决方案 »

  1.   

    这个有一点像sqlhelper里面的一个例子
    http://www.microsoft.com/downloads/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&displaylang=en 
    这是下载地址 
    Update data source 
    看这个例子就可以了 
      

  2.   

    你先把textbox2里的内容弄出来看看是什么再说……
      

  3.   

    @alifriend
    不好意思错了。
    drx["english"] =textBox3.Text;
    这句!
      

  4.   

    看看你的数据库设计时是不是把name字段设置为了整形,如果不是,看看别的字段,如果都没问题用Convert.int32(textBox2.Text);
    转换一下看看
      

  5.   

                drx["name"] = textBox2.Text;
                drx["english"] =textBox3.Text;
                drx["comp"] = textBox4.Text;
     textBox2.Text是字符串没错 
    但是后两个的字符串在这里怎么转换呢?
      

  6.   

    首先要看看你textBox3里的内容是什么,如果不是合法数字,想将其存进数值类型的字段里,当然是失败!
    然后你可以试试Convert.ToInt16(textBox3.Text),但是建议你还是在提交之前先过一遍这些数值。
      

  7.   

    字段什么类型,数据是否一致
    加try catch
      

  8.   

    @alifriend
    我刚测试了他又抱了错误。
    da.Update(ds); //INSERT INTO 语句的语法错误。我这里没有使用数据库的保留字啊!
      

  9.   

    @wuyq11字段的类型没问题,我刚测试的时候什么都没输入,大意了,等下做个限制!
    但是又出了一个错误!
    da.Update(ds); //INSERT INTO 语句的语法错误。 
      

  10.   

    字段的类型没问题,我刚测试的时候什么都没输入,大意了,等下做个限制!
    但是又出了一个错误! 
    da.Update(ds); //INSERT INTO 语句的语法错误。哪哥们帮解决下!
      

  11.   

    @sbigwolfda.Update(ds);不是能实现更新么?
      

  12.   

    把语句拷贝到SQL Server Management Studio测试看看,是不是语法错了,看的比较清楚
      

  13.   

    @peng_leping速成版  没有那功能哦。
      

  14.   

    DataTable dt=new DataTable();
    OleDbCommandBuilder  CommandBuiler = new OleDbCommandBuilder(adapter);
     
    adapter.Update(dt); 
    dt.AcceptChanges(); 
      

  15.   

    @wuyq11能给份详细的么,我对这个比较模糊!
      

  16.   

    用 try catch   找到错误再说