
C#操作Access数据库的基础知识都有什么呢?
C#操作Access数据库的基础知识1.
通过ADO.NET的OleDb相关类来操作Access
主要知识点如下:
1.using System.Data.OleDb;
2.
3.using System.Data;
连接字符串:
4.String connectionString =
5."Provider=Microsoft.Jet.OLEDB.4.0;
6.Data Source=product.mdb";
建立连接:
7.OleDbConnection connection =
8.new OleDbConnection(connectionString);
使用OleDbCommand类来执行Sql语句:
9.OleDbCommand cmd = new OleDbCommand(sql, connection);
10.connection.Open();
11.cmd.ExecuteNonQuery();
C#操作Access数据库的基础知识2.
取得Access自增标识字段在插入数据后的id值
12.cmd.CommandText = @"select @@identity";
13.int value = Int32.Parse(cmd.ExecuteScalar().ToString());
14.return value;
C#操作Access数据库的基础知识3.
执行事务
需要用到OleDbTransaction,关键语句如下:
15.OleDbConnection connection = new OleDbConnection(connectionString);
16.OleDbCommand cmd = new OleDbCommand();
17.OleDbTransaction transaction = null;
18.cmd.Connection = connection;
19.connection.Open();
20.transaction = connection.BeginTransaction();
21.cmd.Transaction = transaction;
22.cmd.CommandText=sql1;
23.cmd.ExecuteNonQuery();
24.cmd.CommandText=sql2;
25.cmd.ExecuteNonQuery();
26.transaction.Commit();
C#操作Access数据库的基础知识4.
执行查询,返回DataSet
27.OleDbConnection connection =
28.new OleDbConnection(connectionString);
29.DataSet ds = new DataSet();
30.connection.Open();
31.OleDbDataAdapter da =
32.new OleDbDataAdapter(sql, connection);
33.da.Fill(ds,"ds");
C#操作Access数据库的基础知识5.
分页查询
分页查询使用OleDbDataReader来读取数据,并将结果写到一个DataSet中返回。
以上内容封装为三个可重用的类:AccessDBUtil,AccessPageUtil,Page
C#操作Access数据库的基础知识的基本情况就向你介绍到这里,希望对你学习C#操作Access数据库的基础知识有所帮助。
∙C#操作Access之创建mdb库浅析
C#操作Access之创建mdb库是如何实现的呢?首先我们来看看基本的知识:本文C#操作Access数据库的基础知识,并提供一个相关的实例。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。
C#操作Access主要知识点如下:
1.using System.Data.OleDb;
2.
3.using System.Data;
C#操作Access连接字符串:
4.String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
5.
6.Data Source=product.mdb";
C#操作Access建立连接:
7.OleDbConnection connection = new OleDbConnection(connectionString);
C#操作Access使用OleDbCommand类来执行Sql语句:
8.OleDbCommand cmd = new OleDbCommand(sql, connection);
9.
10.connection.Open();
11.
12.cmd.ExecuteNonQuery();
C#操作Access之创建mdb库,例程如下:
需要注意的是:参数mdbPath是mdb的完整路径(不包含表的名称)。
C#操作Access之创建mdb库实例:D:\\\est.mdb
13.//创建mdb
14.public static bool CreateMDBDataBase(string mdbPath)
15.{
16.
17. try
18.
19. {
20.
21.ADOX.CatalogClass cat = new ADOX.CatalogClass();
22.
23.cat.Create(
24."Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
25.+ mdbPath + ";");
26.
27.cat = null;
28.
29.return true;
30.
31. }
32. //C#操作Access之创建mdb库
33. catch {
34.
35.return false;
36.
37.}
38.
39.}
C#操作Access之创建mdb库的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之创建mdb库有所帮助。
∙C#操作Access之创建表浅析
C#操作Access之创建表是如何实现的呢?首先我们来看看基本的知识:本文C#操作Access数据库的基础知识,并提供一个相关的实例。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。
C#操作Access主要知识点如下:
1.using System.Data.OleDb;
2.
3.using System.Data;
C#操作Access连接字符串:
4.String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
5.
6.Data Source=product.mdb";
C#操作Access建立连接:
7.OleDbConnection connection = new OleDbConnection(connectionString);
C#操作Access使用OleDbCommand类来执行Sql语句:
8.OleDbCommand cmd = new OleDbCommand(sql, connection);
9.
10.connection.Open();
11.
12.cmd.ExecuteNonQuery();
C#操作Access之创建表,例程如下:
通常一个mdb的可以包含n个表。下面的程序主要是创建一个table。
13.//新建mdb的表,C#操作Access之创建表
14.
15.//mdbHead是一个ArrayList,存储的是table表中的具体列名。
16.
17.public static bool CreateMDBTable(
18.string mdbPath,string tableName, ArrayList mdbHead)
19.
20.{
21. try
22. {
23.ADOX.CatalogClass cat = new ADOX.CatalogClass();
24.
25.string sAccessConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;
26.Data Source=" + mdbPath;
27.ADODB.Connection cn = new ADODB.Connection();
28.
29.cn.Open(sAccessConnection, null, null, -1);
30.
31.cat.ActiveConnection = cn;
32.
33.//新建一个表,C#操作Access之创建表
34.ADOX.TableClass tbl = new ADOX.TableClass();
35.tbl.ParentCatalog = cat;
36.tbl.Name = tableName;
37.
38.int size = mdbHead.Count;
39.for (int i = 0; i < size; i++)
40.{
41. //增加一个文本字段
42. ADOX.ColumnClass col2 = new ADOX.ColumnClass();
43.
44. col2.ParentCatalog = cat;
45. col2.Name = mdbHead[i].ToString();//列的名称
46.
47. col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
48.
49. tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarWChar, 500);
50.}
51.cat.Tables.Append(tbl);
52.
53. //这句把表加入数据库(非常重要) ,C#操作Access之创建表
54.tbl = null;
55.cat = null;
56.cn.Close();
57.return true;
58. }
59. catch { return false; }
60.}
C#操作Access之创建表的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之创建表有所帮助。
∙C#操作Access之读取mdb浅析
C#操作Access之读取mdb是如何实现的呢?首先我们来看看基本的知识:本文C#操作Access数据库的基础知识,并提供一个相关的实例。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。
C#操作Access主要知识点如下:
1.using System.Data.OleDb;
2.
3.using System.Data;
C#操作Access连接字符串:
4.String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
5.
6.Data Source=product.mdb";
C#操作Access建立连接:
7.OleDbConnection connection = new OleDbConnection(connectionString);
C#操作Access使用OleDbCommand类来执行Sql语句:
8.OleDbCommand cmd = new OleDbCommand(sql, connection);
9.
10.connection.Open();
11.
12.cmd.ExecuteNonQuery();
C#操作Access之读取mdb实例如下:
本例返回的是一个DataTable,如需其他格式可以自行转换。
13.// 读取mdb数据
14.public static DataTable ReadAllData(string tableName,
15.string mdbPath,ref bool success)
16.{
17. DataTable dt = new DataTable();
18. try
19. {
20.DataRow dr;
21.
22.//1、建立连接 C#操作Access之读取mdb
23.
24.string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
25.+ mdbPath + ";Jet OLEDB:Database Password=haoren";
26.OleDbConnection odcConnection = new OleDbConnection(strConn);
27.
28.//2、打开连接 C#操作Access之读取mdb
29.odcConnection.Open();
30.
31.//建立SQL查询
32.OleDbCommand odCommand = odcConnection.CreateCommand();
33.
34.//3、输入查询语句 C#操作Access之读取mdb
35.
36.odCommand.CommandText = "select * from " + tableName;
37.
38.//建立读取
39.OleDbDataReader odrReader = odCommand.ExecuteReader();
40.
41.//查询并显示数据
42.int size = odrReader.FieldCount;
43.for (int i = 0; i < size; i++)
44.{
45. DataColumn dc;
46. dc = new DataColumn(odrReader.GetName(i));
47. dt.Columns.Add(dc);
48.}
49.while (odrReader.Read())
50.{
51. dr = dt.NewRow();
52. for (int i = 0; i < size; i++)
53. {
54.dr[odrReader.GetName(i)] =
55.odrReader[odrReader.GetName(i)].ToString();
56. }
57. dt.Rows.Add(dr);
58.}
59.//关闭连接 C#操作Access之读取mdb
60.odrReader.Close();
61.odcConnection.Close();
62.success = true;
63.return dt;
. }
65. catch
66. {
67.success = false;
68.return dt;
69. }
70.}
C#操作Access之读取mdb的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之读取mdb有所帮助。
∙C#操作Access之按列读取mdb浅析
C#操作Access之按列读取mdb是如何实现的呢?首先我们来看看基本的知识:本文C#操作Access数据库的基础知识,并提供一个相关的实例。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。
C#操作Access主要知识点如下:
1.using System.Data.OleDb;
2.
3.using System.Data;
C#操作Access连接字符串:
4.String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
5.
6.Data Source=product.mdb";
C#操作Access建立连接:
7.OleDbConnection connection = new OleDbConnection(connectionString);
C#操作Access使用OleDbCommand类来执行Sql语句:
8.OleDbCommand cmd = new OleDbCommand(sql, connection);
9.
10.connection.Open();
11.
12.cmd.ExecuteNonQuery();
C#操作Access之按列读取mdb内容实例如下:
columns数组存储的是你要查询的列名称(必须确保mdb表中存在你要的列)
13.// 读取mdb数据
14.public static DataTable ReadDataByColumns(string mdbPaht,
15.string tableName, string[] columns, ref bool success)
16.{
17. DataTable dt = new DataTable();
18. try
19. {
20.DataRow dr;
21.//1、建立连接 C#操作Access之按列读取mdb
22.string strConn = @"Provider=Microsoft.
23.Jet.OLEDB.4.0;Data Source="
24.+ mdbPath + ";Jet OLEDB:Database Password=haoren";
25.OleDbConnection odcConnection =
26.new OleDbConnection(strConn);
27.//2、打开连接 C#操作Access之按列读取mdb
28.odcConnection.Open();
29.//建立SQL查询
30.OleDbCommand odCommand = odcConnection.CreateCommand();
31.//3、输入查询语句
32.string strColumn = "";
33.for (int i = 0; i < columns.Length; i++)
34.{
35. strColumn += columns[i].ToString() + ;
36.}
37.strColumn = strColumn.TrimEnd(',');
38.odCommand.CommandText = "select "+strColumn+
39." from " + tableName;
40.//建立读取 C#操作Access之按列读取mdb
41.OleDbDataReader odrReader =
42.odCommand.ExecuteReader();
43.//查询并显示数据 C#操作Access之按列读取mdb
44.int size = odrReader.FieldCount;
45.for (int i = 0; i < size; i++)
46.{
47. DataColumn dc;
48. dc = new DataColumn(odrReader.GetName(i));
49. dt.Columns.Add(dc);
50.}
51.
52.while (odrReader.Read())
53.{
54. dr = dt.NewRow();
55. for (int i = 0; i < size; i++)
56. {
57.dr[odrReader.GetName(i)] = odrReader[
58.odrReader.GetName(i)].ToString();
59. }
60. dt.Rows.Add(dr);
61.}
62.//关闭连接 C#操作Access之按列读取mdb
63.odrReader.Close();
.odcConnection.Close();
65.success = true;
66.return dt;
67. }
68. catch
69. {
70.success = false;
71.return dt;
72. }
73.}
C#操作Access之按列读取mdb的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之按列读取mdb有所帮助。
∙C#操作Access实例解析
C#操作Access实例是怎么实现的呢?让我们来看看具体的代码:
1.using System;
2.using System.Data;
3.using System.Configuration;
4.using System.Web;
5.using System.Web.Security;
6.using System.Web.UI;
7.using System.Web.UI.WebControls;
8.using System.Web.UI.WebControls.WebParts;
9.using System.Web.UI.HtmlControls;
10.using System.Data.OleDb;
11.
12./// 13./// DataAccess 的摘要说明 C#操作Access实例解析 14.///
15.public class DataAccess
16.{
17. protected static OleDbConnection conn = new OleDbConnection();
18. protected static OleDbCommand comm = new OleDbCommand();
19.public DataAccess()
20.{
21. //init C#操作Access实例解析
22.}
23. private static void openConnection()
24. {
25.if (conn.State == ConnectionState.Closed)
26.{
27.conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;
28.Data Source="+ConfigurationManager.AppSettings["myconn"];
29.//web.config文件里设定。
30.comm.Connection = conn;
31.try
32.{
33.conn.Open();
34.}
35.catch (Exception e)
36.{ throw new Exception(e.Message); }
37.
38.}
39.
40. }//打开数据库 C#操作Access实例解析
41.
42. private static void closeConnection()
43. {
44.if (conn.State == ConnectionState.Open)
45.{
46.conn.Close();
47.conn.Dispose();
48.comm.Dispose();
49.}
50. }//关闭数据库 C#操作Access实例解析
51.
52. public static void excuteSql(string sqlstr)
53. {
54.try
55.{
56.openConnection();
57.comm.CommandType = CommandType.Text;
58.comm.CommandText = sqlstr;
59.comm.ExecuteNonQuery();
60.}
61.catch (Exception e)
62.{
63.throw new Exception(e.Message);
.}
65.finally
66.{ closeConnection(); }
67. }//执行sql语句 C#操作Access实例解析
68.
69. public static OleDbDataReader dataReader(string sqlstr)
70. {
71.OleDbDataReader dr = null;
72.try
73.{
74.openConnection();
75.comm.CommandText = sqlstr;
76.comm.CommandType = CommandType.Text;
77.
78.dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
79.}
80.catch
81.{
82.try
83.{
84.dr.Close();
85.closeConnection();
86.}
87.catch { }
88.}
.return dr;
90.}
91.//返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。
92. public static void dataReader(string sqlstr,
93. ref OleDbDataReader dr)
94. {
95.try
96.{
97.openConnection();
98.comm.CommandText = sqlstr;
99.comm.CommandType = CommandType.Text;
100.dr=comm.ExecuteReader(CommandBehavior.CloseConnection);
101.}
102.catch
103.{
104.try
105.{
106.if (dr != null && !dr.IsClosed)
107. dr.Close();
108.} //C#操作Access实例解析
109.catch
110.{
111.}
112.finally
113.{
114.closeConnection();
115.}
116.}
117. }
118.//返回指定sql语句的OleDbDataReader对象,使用时请注意关闭
119.
120. public static DataSet dataSet(string sqlstr)
121. {
122.DataSet ds = new DataSet();
123.OleDbDataAdapter da = new OleDbDataAdapter();
124.try
125.{
126.openConnection();
127.comm.CommandType = CommandType.Text;
128.comm.CommandText = sqlstr;
129.da.SelectCommand = comm;
130.da.Fill(ds);
131.
132.}
133.catch (Exception e)
134.{
135.throw new Exception(e.Message);
136.}
137.finally
138.{
139.closeConnection();
140.}
141.return ds;
142. }//返回指定sql语句的dataset C#操作Access实例解析
143.
144. public static void dataSet(
145.string sqlstr, ref DataSet ds)
146. {
147.OleDbDataAdapter da = new OleDbDataAdapter();
148.try
149.{
150.openConnection();
151.comm.CommandType = CommandType.Text;
152.comm.CommandText = sqlstr;
153.da.SelectCommand = comm;
154.da.Fill(ds);
155.}
156.catch (Exception e)
157.{
158.throw new Exception(e.Message);
159.}
160.finally
161.{
162.closeConnection();
163.}
1. }//返回指定sql语句的dataset C#操作Access实例解析
165.
166. public static DataTable dataTable(string sqlstr)
167. {
168.DataTable dt = new DataTable();
169.OleDbDataAdapter da = new OleDbDataAdapter();
170.try
171.{
172.openConnection();
173.comm.CommandType = CommandType.Text;
174.comm.CommandText = sqlstr;
175.da.SelectCommand = comm;
176.da.Fill(dt);
177.}
178.catch (Exception e)
179.{
180.throw new Exception(e.Message);
181.}
182.finally
183.{
184.closeConnection();
185.}
186.return dt;
187. }//返回指定sql语句的datatable
188. public static void dataTable(
1.string sqlstr, ref DataTable dt)
190. {
191.OleDbDataAdapter da = new OleDbDataAdapter();
192.try
193.{
194.openConnection();
195.comm.CommandType = CommandType.Text;
196.comm.CommandText = sqlstr;
197.da.SelectCommand = comm;
198.da.Fill(dt);
199.}
200.catch (Exception e)
201.{
202.throw new Exception(e.Message);
203.}
204.finally
205.{
206.closeConnection();
207.}
208. }//返回指定sql语句的datatable C#操作Access实例解析
209.
210. public static DataView dataView(string sqlstr)
211. {
212.OleDbDataAdapter da = new OleDbDataAdapter();
213.DataView dv = new DataView();
214.DataSet ds = new DataSet();
215.try
216.{
217.openConnection();
218.comm.CommandType = CommandType.Text;
219.comm.CommandText = sqlstr;
220.da.SelectCommand = comm;
221.da.Fill(ds);
222.dv = ds.Tables[0].DefaultView;
223.}
224.catch (Exception e)
225.{
226.throw new Exception(e.Message);
227.}
228.finally
229.{
230.closeConnection();
231.}
232.return dv;
233. }
234.//返回指定sql语句的dataview C#操作Access实例解析
235.
236.}
C#操作Access实例解析的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access有所帮助。
