未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中

解决方案 »

  1.   

    先oleDbConnection1.Open();
    再在try和catch里oleDbConnection1.Close();
      

  2.   

    不行啊,我打算用dataSet更新数据库需要用oleDbConnection吗?
      

  3.   

    那你只赋了一个值,可能有些字段不能为空,补起其它字段的值,例如:
    newRow["字段1"]=value1;
    newRow["字段2"]=value2;
    ……
    newRow["字段10"]=value10;
    注意类型要匹配
      

  4.   

    很简单,你查一查你建的数据库borrowInfo表有没有设 主键
    没有,则设上;
    有,则当我没说,呵呵。
      

  5.   

    我刚遇到过这种问题:
    就是当textBox4.Text的值为空时,会出错;
    我的表表有一string类型的字段data;
    在修改这个字段的值时,语句是这样写的:
    dataRow["data"]=this.richTextBox.Text.Trim();
    但当richTextBox.Text等于""时,DataSet在更新时会出错:
    未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中
    查看为个字段的属性时,"允许空字符串"这个属性为"不",将其改为"是",再次更新时,错误提示依旧。
    于是想到用DBNull,将"允许空字符串"这个属性改回"是",赋值语句改为:
    dataRow["data"]=this.richTextBox.Text.Trim()!=""?this.richTextBox.Text.Trim
    ():DBNull.Value.ToString();
    但在DataSet更新时,错误依旧,请教各位,这是为什么?要如何修改?