c#程序出错:“System.Data.OleDb.OleDbException”类型的未经处理的异常出现在 System.Data.dll 中。 35

本人刚学c#,要做一个对access数据库写入程序,用例程拼凑的代码,运行时出错,在34行da.Fill(ds);不知什么原因。以下是c#源代码:usingSystem;... 本人刚学c#,要做一个对access数据库写入程序,用例程拼凑的代码,运行时出错,在34行da.Fill(ds); 不知什么原因。以下是c#源代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;

namespace access3
{
//声明DataOper类中的公共变量

class access3
{

//private string DBlocation;
static private OleDbConnection dbconn; //数据库连接
static private OleDbDataAdapter da;

static void Main(string[] args)

{

//建立与数据库的连接,这里采用了OLEDB方法:

dbconn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0; Data Source=c:\test.mdb");
dbconn.Open();

//创建DataSet对象
da = new OleDbDataAdapter(@"select * from user", dbconn); //引用数据库连接dbconn并依据SQL语句"select * from kaizhi"创建OleDbDataAdapter对象da
DataSet ds = new DataSet(); //创建DataSet对象
da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象

//添加记录并更新数据库
OleDbCommandBuilder cb = new OleDbCommandBuilder(da); // 创建OleDbCommandBuilder对象cb用于更新OleDbDataAdapter对象da的Insert、Delete、Update指令
da.UpdateCommand = cb.GetUpdateCommand(); //更新OleDbDataAdapter对象da的指令
//设计人员可以编写自己的更新指令,也可以象上面所写的那样用系统默认的指令。但不管怎样,上面的语句不能缺少,否则程序在运行中会抛出异常System.InvalidOperationException,并提示:Update requires a valid InsertCommand when passed DataRow collection with new rows.

DataRow drx = ds.Tables[0].NewRow(); //创建一条新记录行

// drx["kzren"] = "kzren";
// drx["kzname"]="kzname";
// drx["riqi"]=2008-10-11;
// drx["shuoming"]="shuoming";
drx["name"] = 12;
drx["memo"] = 3;
// drx["danjia"] = 4;
ds.Tables[0].Rows.Add(drx); //在表中追加记录
da.Update(ds); //更新数据库

//要查询引用某记录的某字段,直接按如下的方法引用就可以了。
String kx = ds.Tables[0].Rows[0]["name"].ToString();

}
}
}
问题已经自己解决。
谢谢各位!
展开
 我来答
不在过去将来
2019-04-10
知道答主
回答量:1
采纳率:0%
帮助的人:736
展开全部
怎么解决的?能说一下嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式