《2022年c操作Access数据库的方法大全 .pdf》由会员分享,可在线阅读,更多相关《2022年c操作Access数据库的方法大全 .pdf(7页珍藏版)》请在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 OleDbConnection(connectionString);使用 OleDbCommand 类来执行 Sql 语句:OleDbCommand cmd=new OleDbCommand(sql,connection)
2、;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=nul
3、l;return true; catchreturn false; 2. 创建具体的表,例程如下:名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 通常一个 mdb的可以包含 n 个表。下面的程序主要是创建一个table 。/ 新建 mdb的表/mdbHead 是一个 ArrayList,存储的是 table 表中的具体列名。public static bool CreateMDBTable(string mdb
4、Path,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
5、tbl=new ADOX.TableClass();tbl.ParentCatalog=cat;tbl.Name=tableName;int size=mdbHead.Count;for(int 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.Columns.Append
6、(col2,ADOX.DataTypeEnum.adVarWChar,500) ; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 7 页 - - - - - - - - - cat.Tables.Append(tbl);/ 这句把表加入数据库 ( 非常重要 ) tbl=null;cat=null;cn.Close() ;return true; catchreturn false; 3. 读取 mdb内容(完全读取 ),例程如下:本例程返回的是一个Da
7、taTable ,如需其他格式可以自行转换。/ 读取 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 odcConn
8、ection=new OleDbConnection(strConn);/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;for(int i=0;i size;i+) DataColumn dc;dc=new DataColumn(odrReader.GetName(i) ;dt.Columns.Add(dc) ; while(odrReader.Read() dr=dt.NewRow() ;for(int i=0;i size;i+) drodrReader.GetName(i)=odrReaderodrReader.G
10、etName(i).ToString() ; dt.Rows.Add(dr) ; / 关闭连接odrReader.Close();odcConnection.Close();success=true ;return dt; catch 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 7 页 - - - - - - - - - success=false ;return dt; 4. 读取 mdb内容(按列读取 ),例程如下:columns 数组存储的是你
11、要查询的列名称( 必须确保 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=haore
12、n ;OleDbConnection odcConnection=new OleDbConnection(strConn);/2 、打开连接odcConnection.Open() ;/ 建立 SQL查询OleDbCommand odCommand=odcConnection.CreateCommand();/3 、输入查询语句string strColumn=;for(int i=0;i columns.Length;i+) strColumn+=columnsi.ToString()+,;名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精
13、选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 7 页 - - - - - - - - - strColumn=strColumn.TrimEnd(,);odCommand.CommandText=select+strColumn+from+tableName ;/ 建立读取OleDbDataReader odrReader=odCommand.ExecuteReader();/ 查询并显示数据int size=odrReader.FieldCount;for(int i=0;i size;i+) DataColumn dc;dc=new DataCol
14、umn(odrReader.GetName(i) ;dt.Columns.Add(dc) ; while(odrReader.Read() dr=dt.NewRow() ;for(int i=0;i size;i+) drodrReader.GetName(i)=odrReaderodrReader.GetName(i).ToString() ; dt.Rows.Add(dr) ; / 关闭连接odrReader.Close();odcConnection.Close();success=true ;return dt;名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 7 页 - - - - - - - - - catch success=false ;return dt; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 7 页 - - - - - - - - -