您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

c#操作Access[上]

2024/3/29 11:20:03发布9次查看
看到csdn上不断兄弟姐妹提问关于c#操作access的问题,于是本人利用闲暇将c#操作access的方法加以总结,主要解决的问题有: 创建mdb 创建table 读取table内容 查询table中的内容 向table中插入数据 删除table中的记录 向table中插入照片 读取table中的照片等
看到csdn上不断兄弟姐妹提问关于c#操作access的问题,于是本人利用闲暇将c#操作access的方法加以总结,主要解决的问题有:
创建mdb
创建table
读取table内容
查询table中的内容
向table中插入数据
删除table中的记录
向table中插入照片
读取table中的照片等。
另:本人水平有限,不当之处还请斧正。废话少说,开始正题。
文介绍c#访问操作access数据库的基础知识,并提供一个相关的例程。c#的ado.net还不能通过编程方式创建全新的access(mdb)数据库,所以还只能使用adox这个来自com的链接库来操作。
主要知识点如下:
using system.data.oledb;
using system.data;
连接字符串:string connectionstring = provider=microsoft.jet.oledb.4.0;data source=product.mdb;
建立连接:oledbconnection connection = new oledbconnection(connectionstring);
使用oledbcommand类来执行sql语句:
oledbcommand cmd = new oledbcommand(sql, connection);
connection.open();
cmd.executenonquery();
1.创建mdb库,例程如下:
需要注意的是:参数mdbpath是mdb的完整路径(不包含表的名称)。例如:d://test.mdb
//创建mdb public static bool createmdbdatabase(string mdbpath) { try { adox.catalogclass cat = new adox.catalogclass(); cat.create(provider=microsoft.jet.oledb.4.0;data source= + mdbpath + ;); cat = null; return true; } catch { return false; } }
2.创建具体的表,例程如下:
通常一个mdb的可以包含n个表。下面的程序主要是创建一个table。
//新建mdb的表 //mdbhead是一个arraylist,存储的是table表中的具体列名。 public static bool createmdbtable(string mdbpath,string tablename, arraylist mdbhead) { try { adox.catalogclass cat = new adox.catalogclass(); string saccessconnection = @provider=microsoft.jet.oledb.4.0;data source= + mdbpath; adodb.connection cn = new adodb.connection(); cn.open(saccessconnection, null, null, -1); cat.activeconnection = cn; //新建一个表 adox.tableclass tbl = new adox.tableclass(); tbl.parentcatalog = cat; tbl.name = tablename; int size = mdbhead.count; for (int i = 0; i
3.读取mdb内容(完全读取),例程如下:
本例程返回的是一个datatable,如需其他格式可以自行转换。
// 读取mdb数据 public static datatable readalldata(string tablename, string mdbpath,ref bool success) { datatable dt = new datatable(); try { datarow dr; //1、建立连接 string strconn = @provider=microsoft.jet.oledb.4.0;data source= + mdbpath + ;jet oledb:database password=haoren; oledbconnection odcconnection = new oledbconnection(strconn); //2、打开连接 odcconnection.open(); //建立sql查询 oledbcommand odcommand = odcconnection.createcommand(); //3、输入查询语句 odcommand.commandtext = select * from + tablename; //建立读取 oledbdatareader odrreader = odcommand.executereader(); //查询并显示数据 int size = odrreader.fieldcount; for (int i = 0; i
4.读取mdb内容(按列读取),例程如下:
columns数组存储的是你要查询的列名称(必须确保mdb表中存在你要的列)
// 读取mdb数据 public static datatable readdatabycolumns(string mdbpaht,string tablename, string[] columns, ref bool success) { datatable dt = new datatable(); try { datarow dr; //1、建立连接 string strconn = @provider=microsoft.jet.oledb.4.0;data source= + mdbpath + ;jet oledb:database password=haoren; oledbconnection odcconnection = new oledbconnection(strconn); //2、打开连接 odcconnection.open(); //建立sql查询 oledbcommand odcommand = odcconnection.createcommand(); //3、输入查询语句 string strcolumn = ; for (int i = 0; i
今天就简单写到这里,以后我会将内容补充完整。
http://blog.csdn.net/gisfarmer/
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product