《2022年c操作Access数据库的方法大全.docx》由会员分享,可在线阅读,更多相关《2022年c操作Access数据库的方法大全.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -c 操作 Access数据库的方法大全using System.Data.OleDb;using System.Data ;连接字符串: String connectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=product.mdb ;建立连接: OleDbConnection connection=new OleDbConnectionconnectionString;使用 OleDbCommand类来执行 Sql 语句:OleDbComma
2、nd cmd=new OleDbCommandsql,connection;connection.Open;cmd.ExecuteNonQuery ;1. 创建 mdb库,例程如下:需要留意的是:参数 如: D:test.mdb mdbPath是 mdb的完整路径 不包含表的名称 ;例/ 创建 mdb public static bool CreateMDBDataBasestring mdbPath try ADOX.CatalogClass cat=new ADOX.CatalogClass;cat.CreateProvider=Microsoft.Jet.OLEDB.4.0;Data S
3、ource=+mdbPath+; ;cat=null;return true; catchreturn false; 2. 创建详细的表,例程如下:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -通常一个 mdb的可以包含 n 个表;下面的程序主要是创建一个 table ;/ 新建 mdb的表/mdbHead 是一个 ArrayList,储备的是 table 表中的详细列名;public static bool
4、 CreateMDBTablestring 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.OpensAccessConnection,null,null,-1;cat.ActiveConnection=cn;/ 新建
5、一个表ADOX.TableClass tbl=new ADOX.TableClass;tbl.ParentCatalog=cat;tbl.Name=tableName ;int size=mdbHead.Count;forint i=0;i size;i+ / 增加一个文本字段ADOX.ColumnClass col2=new ADOX.ColumnClass;col2.ParentCatalog=cat;col2.Name=mdbHeadi.ToString;/ 列的名称col2.PropertiesJet OLEDB:Allow Zero Length.Value=false;tbl.Co
6、lumns.Appendcol2,ADOX.DataTypeEnum.adVarWChar,500 ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -cat.Tables.Appendtbltbl=null;cat=null;cn.Close ;return true; ;/ 这句把表加入数据库 特别重要 catchreturn false; 3. 读取 mdb内容 完全读取 ,例程如下:本例程返回的是一个
7、/ 读取 mdb数据DataTable ,如需其他格式可以自行转换;public static DataTable ReadAllDatastring 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 odcConnec
8、tion=new OleDbConnectionstrConn;/2 、打开连接 odcConnection.Open ;/ 建立 SQL查询 OleDbCommand odCommand=odcConnection.CreateCommand /3 、输入查询语句 odCommand.CommandText=select*from+tableName;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -/ 建立读
9、取 OleDbDataReader odrReader=odCommand.ExecuteReader;/ 查询并显示数据 int size=odrReader.FieldCount;forint i=0;i size;i+ DataColumn dc;dc=new DataColumnodrReader.GetNamei ;dt.Columns.Adddc ; whileodrReader.Read dr=dt.NewRow ;forint i=0;i size;i+ drodrReader.GetNamei=odrReaderodrReader.GetNamei.ToStri ng ; d
10、t.Rows.Adddr ; / 关闭连接 odrReader.Close;odcConnection.Close;success=true ;return dt; catch 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -success=false ;return dt; 4. 读取 mdb内容 按列读取 ,例程如下:列 columns 数组储备的是你要查询的列名称 必需确保 mdb表中存在你要的/ 读取
11、mdb数据public static DataTable ReadDataByColumnsstring 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
12、 OleDbConnectionstrConn;/2 、打开连接 odcConnection.Open ;/ 建立 SQL查询 OleDbCommand odCommand=odcConnection.CreateCommand /3 、输入查询语句 string strColumn=;forint i=0;i columns.Length;i+ 细心整理归纳 精选学习资料 strColumn+=columnsi.ToString+,; 第 5 页,共 7 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - -
13、 - - - - - - - - - - - - strColumn=strColumn.TrimEnd,;odCommand.CommandText=select+strColumn+from+tableName ;/ 建立读取 OleDbDataReader odrReader=odCommand.ExecuteReader;/ 查询并显示数据 int size=odrReader.FieldCount;forint i=0;i size;i+ DataColumn dc;dc=new DataColumnodrReader.GetNamei ;dt.Columns.Adddc ; whi
14、leodrReader.Read dr=dt.NewRow ;forint i=0;i size;i+ drodrReader.GetNamei=odrReaderodrReader.GetNamei.ToStri ng ; dt.Rows.Adddr ; / 关闭连接odrReader.Close;odcConnection.Close;success=true ;细心整理归纳 精选学习资料 return dt; 第 6 页,共 7 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - catch success=false ;return dt; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 7 页 - - - - - - - - -