C#通过oledb访问access数据库的方法
本文实例讲述了C#通过oledb访问access数据库的方法。分享给大家供大家参考。具体分析如下:
这里演示了如何在C#中使用MicrosoftAccess数据库。包括如何创建数据集并从数据库向该数据集添加表。
//OleDbSample.cs //若要从命令行生成此示例,请使用命令: //cscoledbsample.cs usingSystem; usingSystem.Data; usingSystem.Data.OleDb; usingSystem.Xml.Serialization; publicclassMainClass { publicstaticvoidMain() { //设置访问连接并选择字符串。 //如果从命令行生成此示例, //则必须更改BugTypes.MDB的路径: #ifUSINGPROJECTSYSTEM stringstrAccessConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=..\\..\\BugTypes.MDB"; #else stringstrAccessConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=BugTypes.MDB"; #endif stringstrAccessSelect="SELECT*FROMCategories"; //创建数据集并向其中添加Categories表: DataSetmyDataSet=newDataSet(); OleDbConnectionmyAccessConn=null; try { myAccessConn=newOleDbConnection(strAccessConn); } catch(Exceptionex) { Console.WriteLine("Error:Failedtocreateadatabaseconnection.\n{0}",ex.Message); return; } try { OleDbCommandmyAccessCommand=newOleDbCommand(strAccessSelect,myAccessConn); OleDbDataAdaptermyDataAdapter=newOleDbDataAdapter(myAccessCommand); myAccessConn.Open(); myDataAdapter.Fill(myDataSet,"Categories"); } catch(Exceptionex) { Console.WriteLine("Error:FailedtoretrievetherequireddatafromtheDataBase.\n{0}",ex.Message); return; } finally { myAccessConn.Close(); } //一个数据集可以包含多个表,因此可以将这些表都放入 //一个数组中: DataTableCollectiondta=myDataSet.Tables; foreach(DataTabledtindta) { Console.WriteLine("Founddatatable{0}",dt.TableName); } //下面两行显示两种不同方法,可用于获取数据集中 //的表计数: Console.WriteLine("{0}tablesindataset",myDataSet.Tables.Count); Console.WriteLine("{0}tablesindataset",dta.Count); //下面几行显示如何按名称 //从数据集中获取特定表的信息: Console.WriteLine("{0}rowsinCategoriestable",myDataSet.Tables["Categories"].Rows.Count); //列信息自动从数据库中提取,因此 //可以在此处看到这些信息: Console.WriteLine("{0}columnsinCategoriestable",myDataSet.Tables["Categories"].Columns.Count); DataColumnCollectiondrc=myDataSet.Tables["Categories"].Columns; inti=0; foreach(DataColumndcindrc) { //打印列下标,然后打印列的名称及其 //数据类型: Console.WriteLine("Columnname[{0}]is{1},oftype{2}",i++,dc.ColumnName,dc.DataType); } DataRowCollectiondra=myDataSet.Tables["Categories"].Rows; foreach(DataRowdrindra) { //打印CategoryID作为下标,然后打印CategoryName: Console.WriteLine("CategoryName[{0}]is{1}",dr[0],dr[1]); } } }
希望本文所述对大家的C#程序设计有所帮助。