C#操作Access
C#操作Access数据库的基础知识浅析
C#操作Access数据库的基础知识都有什么呢?
C#操作Access数据库的基础知识1.
通过ADO.NET的OleDb相关类来操作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);
 - connection.Open();
 - cmd.ExecuteNonQuery();
 
C#操作Access数据库的基础知识2.
取得Access自增标识字段在插入数据后的id值
- cmd.CommandText = @"select @@identity";
 - int value = Int32.Parse(cmd.ExecuteScalar().ToString());
 - return value;
 
C#操作Access数据库的基础知识3.
执行事务
需要用到OleDbTransaction,关键语句如下:
- OleDbConnection connection = new OleDbConnection(connectionString);
 - OleDbCommand cmd = new OleDbCommand();
 - OleDbTransaction transaction = null;
 - cmd.Connection = connection;
 - connection.Open();
 - transaction = connection.BeginTransaction();
 - cmd.Transaction = transaction;
 - cmd.CommandText=sql1;
 - cmd.ExecuteNonQuery();
 - cmd.CommandText=sql2;
 - cmd.ExecuteNonQuery();
 - transaction.Commit();
 
C#操作Access数据库的基础知识4.
执行查询,返回DataSet
- OleDbConnection connection =
 - new OleDbConnection(connectionString);
 - DataSet ds = new DataSet();
 - connection.Open();
 - OleDbDataAdapter da =
 - new OleDbDataAdapter(sql, connection);
 - 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主要知识点如下:
- 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库,例程如下:
需要注意的是:参数mdbPath是mdb的完整路径(不包含表的名称)。
C#操作Access之创建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 = null;
 - return true;
 - }
 - //C#操作Access之创建mdb库
 - catch {
 - return false;
 - }
 - }
 
C#操作Access之创建mdb库的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之创建mdb库有所帮助。
- C#操作Access之创建表浅析
 
C#操作Access之创建表是如何实现的呢?首先我们来看看基本的知识:本文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的可以包含n个表。下面的程序主要是创建一个table。
- //新建mdb的表,C#操作Access之创建表
 - //mdbHead是一个ArrayList,存储的是table表中的具体列名。
 - public static bool CreateMDBTable(
 - string 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.Open(sAccessConnection, null, null, -1);
 - cat.ActiveConnection = cn;
 - //新建一个表,C#操作Access之创建表
 - ADOX.TableClass 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 = mdbHead[i].ToString();//列的名称
 - col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
 - tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarWChar, 500);
 - }
 - cat.Tables.Append(tbl);
 - //这句把表加入数据库(非常重要) ,C#操作Access之创建表
 - tbl = null;
 - cat = null;
 - cn.Close();
 - return true;
 - }
 - catch { return false; }
 - }
 
C#操作Access之创建表的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之创建表有所帮助。
- C#操作Access之读取mdb浅析
 
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实例如下:
本例返回的是一个DataTable,如需其他格式可以自行转换。
- // 读取mdb数据
 - public static DataTable ReadAllData(string tableName,
 - string mdbPath,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、输入查询语句 C#操作Access之读取mdb
 - odCommand.CommandText = "select * from " + tableName;
 - //建立读取
 - 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++)
 - {
 - 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有所帮助。
- C#操作Access之按列读取mdb浅析
 
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有所帮助。
- C#操作Access实例解析
 
C#操作Access实例是怎么实现的呢?让我们来看看具体的代码:
- using System;
 - using System.Data;
 - using System.Configuration;
 - using System.Web;
 - using System.Web.Security;
 - using System.Web.UI;
 - using System.Web.UI.WebControls;
 - using System.Web.UI.WebControls.WebParts;
 - using System.Web.UI.HtmlControls;
 - using System.Data.OleDb;
 - /// <summary>
 - /// DataAccess 的摘要说明 C#操作Access实例解析
 - /// </summary>
 - public class DataAccess
 - {
 - protected static OleDbConnection conn = new OleDbConnection();
 - protected static OleDbCommand comm = new OleDbCommand();
 - public DataAccess()
 - {
 - //init C#操作Access实例解析
 - }
 - private static void openConnection()
 - {
 - if (conn.State == ConnectionState.Closed)
 - {
 - conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;
 - Data Source="+ConfigurationManager.AppSettings["myconn"];
 - //web.config文件里设定。
 - comm.Connection = conn;
 - try
 - {
 - conn.Open();
 - }
 - catch (Exception e)
 - { throw new Exception(e.Message); }
 - }
 - }//打开数据库 C#操作Access实例解析
 - private static void closeConnection()
 - {
 - if (conn.State == ConnectionState.Open)
 - {
 - conn.Close();
 - conn.Dispose();
 - comm.Dispose();
 - }
 - }//关闭数据库 C#操作Access实例解析
 - public static void excuteSql(string sqlstr)
 - {
 - try
 - {
 - openConnection();
 - comm.CommandType = CommandType.Text;
 - comm.CommandText = sqlstr;
 - comm.ExecuteNonQuery();
 - }
 - catch (Exception e)
 - {
 - throw new Exception(e.Message);
 - }
 - finally
 - { closeConnection(); }
 - }//执行sql语句 C#操作Access实例解析
 - public static OleDbDataReader dataReader(string sqlstr)
 - {
 - OleDbDataReader dr = null;
 - try
 - {
 - openConnection();
 - comm.CommandText = sqlstr;
 - comm.CommandType = CommandType.Text;
 - dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
 - }
 - catch
 - {
 - try
 - {
 - dr.Close();
 - closeConnection();
 - }
 - catch { }
 - }
 - return dr;
 - }
 - //返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。
 - public static void dataReader(string sqlstr,
 - ref OleDbDataReader dr)
 - {
 - try
 - {
 - openConnection();
 - comm.CommandText = sqlstr;
 - comm.CommandType = CommandType.Text;
 - dr=comm.ExecuteReader(CommandBehavior.CloseConnection);
 - }
 - catch
 - {
 - try
 - {
 - if (dr != null && !dr.IsClosed)
 - dr.Close();
 - } //C#操作Access实例解析
 - catch
 - {
 - }
 - finally
 - {
 - closeConnection();
 - }
 - }
 - }
 - //返回指定sql语句的OleDbDataReader对象,使用时请注意关闭
 - public static DataSet dataSet(string sqlstr)
 - {
 - DataSet ds = new DataSet();
 - OleDbDataAdapter da = new OleDbDataAdapter();
 - try
 - {
 - openConnection();
 - comm.CommandType = CommandType.Text;
 - comm.CommandText = sqlstr;
 - da.SelectCommand = comm;
 - da.Fill(ds);
 - }
 - catch (Exception e)
 - {
 - throw new Exception(e.Message);
 - }
 - finally
 - {
 - closeConnection();
 - }
 - return ds;
 - }//返回指定sql语句的dataset C#操作Access实例解析
 - public static void dataSet(
 - string sqlstr, ref DataSet ds)
 - {
 - OleDbDataAdapter da = new OleDbDataAdapter();
 - try
 - {
 - openConnection();
 - comm.CommandType = CommandType.Text;
 - comm.CommandText = sqlstr;
 - da.SelectCommand = comm;
 - da.Fill(ds);
 - }
 - catch (Exception e)
 - {
 - throw new Exception(e.Message);
 - }
 - finally
 - {
 - closeConnection();
 - }
 - }//返回指定sql语句的dataset C#操作Access实例解析
 - public static DataTable dataTable(string sqlstr)
 - {
 - DataTable dt = new DataTable();
 - OleDbDataAdapter da = new OleDbDataAdapter();
 - try
 - {
 - openConnection();
 - comm.CommandType = CommandType.Text;
 - comm.CommandText = sqlstr;
 - da.SelectCommand = comm;
 - da.Fill(dt);
 - }
 - catch (Exception e)
 - {
 - throw new Exception(e.Message);
 - }
 - finally
 - {
 - closeConnection();
 - }
 - return dt;
 - }//返回指定sql语句的datatable
 - public static void dataTable(
 - string sqlstr, ref DataTable dt)
 - {
 - OleDbDataAdapter da = new OleDbDataAdapter();
 - try
 - {
 - openConnection();
 - comm.CommandType = CommandType.Text;
 - comm.CommandText = sqlstr;
 - da.SelectCommand = comm;
 - da.Fill(dt);
 - }
 - catch (Exception e)
 - {
 - throw new Exception(e.Message);
 - }
 - finally
 - {
 - closeConnection();
 - }
 - }//返回指定sql语句的datatable C#操作Access实例解析
 - public static DataView dataView(string sqlstr)
 - {
 - OleDbDataAdapter da = new OleDbDataAdapter();
 - DataView dv = new DataView();
 - DataSet ds = new DataSet();
 - try
 - {
 - openConnection();
 - comm.CommandType = CommandType.Text;
 - comm.CommandText = sqlstr;
 - da.SelectCommand = comm;
 - da.Fill(ds);
 - dv = ds.Tables[0].DefaultView;
 - }
 - catch (Exception e)
 - {
 - throw new Exception(e.Message);
 - }
 - finally
 - {
 - closeConnection();
 - }
 - return dv;
 - }
 - //返回指定sql语句的dataview C#操作Access实例解析
 - }
 
C#操作Access实例解析的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access有所帮助。
C#操作Access的更多相关文章
- C#操作access和SQL server数据库代码实例
		
在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:usin ...
 - C#操作Access的一些小结
		
C#操作Access的一些小结 好久没有写blog,感觉今年一年都没怎么真正开心过,整天有一些事围绕在身边,使心情难以平静下来,真正写点有意义的东西.博客园是天天看的,看得多,写的少,偶尔也是Copy ...
 - MFC通过ADO操作Access数据库
		
我在<VC知识库在线杂志>第十四期和第十五期上曾发表了两篇文章——“直接通过ODBC读.写Excel表格文件”和“直接通过DAO读.写Access文件”,先后给大家介绍了ODBC和DAO两 ...
 - Python操作Access数据库
		
我们在这篇文章中公分了五个步骤详细分析了Python操作Access数据库的相关方法,希望可以给又需要的朋友们带来一些帮助. AD: Python编 程语言的出现,带给开发人员非常大的好处.我们可以利 ...
 - 如何通过C#操作Access,本人亲测通过
		
1. c# 操作access数据库 // it's your DB file path: // ApplicationEXEPath\Test.mdb var DBPath = "d:\\T ...
 - 关于操作Access数据库jdk选择问题
		
关于操作Access数据库,使用jdk64位无法通过ODBC无法获取数据,只能通过jdk32位进行开发.
 - 基于指纹考勤机的真实的PHP操作Access数据库成功案例(最终实现) 2011-11-2v
		
听了我的建议,我们单位的食堂准备使用一台指纹考勤机统计吃饭人次,这样院里好给食堂的承包人以相应饭补.以前买过一台彩屏指纹机,数据库是access的,今儿又买了一台准备放到食堂里,而且考虑到停电,还特地 ...
 - C#操作access练习
		
ORM框架使用dapper,dapper不仅能操作sqlserver,也能操作access,下面为基本代码: OleDbConnection strConnection = new OleDbConn ...
 - 直接通过ADO操作Access数据库
		
我在<VC知识库在线杂志>第十四期和第十五期上曾发表了两篇文章——“直接通过ODBC读.写Excel表格文件”和“直接通过DAO读.写Access文件”,先后给大家介绍了ODBC和DAO两 ...
 
随机推荐
- 在有大量数据时  少用In(数据会丢失)  用left join 代替
			
select @From, @To, EffectiveDate, GETDATE(), Rate from Config_Currency_ExchangeRate_Temp where Effec ...
 - Git和CocoaPods的简单使用
			
Git是一款免费.开源的分布式版本控制系统,还有一种SVN的开源的集中式版本控制系统.分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一 ...
 - FancyBox——jQuery弹出窗口插件
			
最近工作项目中有用到这款插件,就查找了一下相关资料和用法,下面是一些基本的简单用法,比较容易掌握,有需要的小伙伴可以参考.:) FancyBox是一款基于jquery开发的类Lightbox插件.支持 ...
 - 关于insertBefore
			
insertBefore,看名字就是在某个元素前插入元素,但是其实它可以再文档任何元素强势插入. insertBefore用法: parent.insertBefore(newChild, refCh ...
 - iPad知识点记录
			
这两天玩了玩虚拟机安装Mac OS系统.iPad1的越狱以及利用iTunes将iPad2的系统升级到iOS8.1,这里将一些参考资源以及关键点记录一下. 一.虚拟机安装Mac OS 首先你的系统要能够 ...
 - Modernizr.js介绍与使用
			
Modernizr帮助我们检测浏览器是否实现了某个feature,如果实现了那么开发人员就可以充分利用这个feature做一些工作,反之没有实现开发人员也好提供一个fallback.所以,我们要明白的 ...
 - Yii通过控制台命令创建定时任务
			
假设Yii项目路径为 /home/apps/ 1. 创建文件 /home/apps/protected/commands/crons.php <?php $yii = '/home/apps/f ...
 - 推荐一个优秀的前端框架——Bootstrap
			
Bootstrap是Twitter推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstra ...
 - LNMP下防跨站、跨目录安全设置,仅支持PHP 5.3.3以上版本
			
PHP 5.3.3以上的版本,可以修改/usr/local/php/etc/php.ini在末尾里加入: [HOST=www.vpser.net] open_basedir=/home/wwwroot ...
 - About building ant & install ant on centos7 {ant source code 1.94}
			
hamcrest-junit-2.0.0.0.jar java-hamcrest-2.0.0.0.jar copy to ant-sourceCodeDir/lib/o ...