C#操作Access之按列读取mdb是如何实现的呢?首先我们来看看基本的知识:本文C#操作Access数据库的基础知识,并提供一个相关的实例。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。
C#操作Access主要知识点如下:
- using System.Data.OleDb;
- using System.Data;
C#操作Access连接字符串:
- String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
- Data Source=product.mdb";
C#操作Access建立连接:
- OleDbConnection connection = new OleDbConnection(connectionString);
C#操作Access使用OleDbCommand类来执行Sql语句:
- OleDbCommand cmd = new OleDbCommand(sql, connection);
- connection.Open();
- cmd.ExecuteNonQuery();
C#操作Access之按列读取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、建立连接 C#操作Access之按列读取mdb
- string strConn = @"Provider=Microsoft.
- Jet.OLEDB.4.0;Data Source="
- + mdbPath + ";Jet OLEDB:Database Password=haoren";
- OleDbConnection odcConnection =
- new OleDbConnection(strConn);
- //2、打开连接 C#操作Access之按列读取mdb
- odcConnection.Open();
- //建立SQL查询
- OleDbCommand odCommand = odcConnection.CreateCommand();
- //3、输入查询语句
- string strColumn = "";
- for (int i = 0; i < columns.Length; i++)
- {
- strColumn += columns[i].ToString() + ",";
- }
- strColumn = strColumn.TrimEnd(',');
- odCommand.CommandText = "select "+strColumn+
- " from " + tableName;
- //建立读取 C#操作Access之按列读取mdb
- OleDbDataReader odrReader =
- odCommand.ExecuteReader();
- //查询并显示数据 C#操作Access之按列读取mdb
- 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++)
- {
- dr[odrReader.GetName(i)] = odrReader[
- odrReader.GetName(i)].ToString();
- }
- dt.Rows.Add(dr);
- }
- //关闭连接 C#操作Access之按列读取mdb
- odrReader.Close();
- odcConnection.Close();
- success = true;
- return dt;
- }
- catch
- {
- success = false;
- return dt;
- }
- }
C#操作Access之按列读取mdb的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之按列读取mdb有所帮助。
【编辑推荐】