C#如何连接ACCESS数据库,并在里面去数据!!
来源:互联网 发布:仿720云全景源码 编辑:程序博客网 时间:2024/04/29 03:32
using System.Data;
using System.Data.OleDb;
private OleDbConnection con;
/// <summary>
/// 打开数据库连接
/// </summary>
/// <param name="DBpath">数据库路径(包括数据库名)</param>
private void Open(String DBpath)
{
if(con == null)
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DBpath);
if (con.State == ConnectionState.Closed)
con.Open();
}
/// <summary>
/// 创建一个命令对象并返回该对象
/// </summary>
/// <param name="sqlStr">数据库语句</param>
/// <param name="file">数据库所在路径</param>
/// <returns>OleDbCommand</returns>
private OleDbCommand CreateCommand(string sqlStr, string file)
{
Open(file);
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr;
cmd.Connection = con;
return cmd;
}
/// <summary>
/// 执行
/// </summary>
/// <param name="sqlStr">SQL语句</param>
/// <param name="file">数据库所在路径</param>
/// <returns>返回数值当执行成功时候返回true,失败则返回false</returns>
public bool ExecuteNonQury(string sqlStr, string file)
{
OleDbCommand cmd = CreateCommand(sqlStr, file);
int result = cmd.ExecuteNonQuery();
if (result == -1 | result == 0)
{
cmd.Dispose();
Close();
return false;
}
else
{
cmd.Dispose();
Close();
return true;
}
/// <summary>
/// 执行数据库查询
/// </summary>
/// <param name="sqlStr">查询语句</param>
/// <param name="tableName">填充数据集表格的名称</param>
/// <param name="file">数据库所在路径</param>
/// <returns>查询的数据集</returns>
public DataSet GetDataSet(string sqlStr, string file)
{
DataSet ds = new DataSet();
OleDbCommand cmd = CreateCommand(sqlStr, file);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmd);
dataAdapter.Fill(ds);
cmd.Dispose();
Close();
dataAdapter.Dispose();
return ds;
}
/// <summary>
/// 生成一个数据读取器OleDbDataReader并返回该OleDbDataReader
/// </summary>
/// <param name="sqlStr">数据库查询语句</param>
/// <returns>返回一个DataReader对象</returns>
public OleDbDataReader GetReader(string sqlStr, string file)
{
OleDbCommand cmd = CreateCommand(sqlStr, file);
OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
//CommadnBehavior.CloseConnection是将于DataReader的数据库链接关联起来
//当关闭DataReader对象时候也自动关闭链接
return reader;
}
/// <summary>
/// 关闭数据库
/// </summary>
public void Close()
{
if (con != null)
con.Close();
con = null;
}
传进来的路径是带上Access数据库名的
using System.Data.OleDb;
private OleDbConnection con;
/// <summary>
/// 打开数据库连接
/// </summary>
/// <param name="DBpath">数据库路径(包括数据库名)</param>
private void Open(String DBpath)
{
if(con == null)
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DBpath);
if (con.State == ConnectionState.Closed)
con.Open();
}
/// <summary>
/// 创建一个命令对象并返回该对象
/// </summary>
/// <param name="sqlStr">数据库语句</param>
/// <param name="file">数据库所在路径</param>
/// <returns>OleDbCommand</returns>
private OleDbCommand CreateCommand(string sqlStr, string file)
{
Open(file);
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr;
cmd.Connection = con;
return cmd;
}
/// <summary>
/// 执行
/// </summary>
/// <param name="sqlStr">SQL语句</param>
/// <param name="file">数据库所在路径</param>
/// <returns>返回数值当执行成功时候返回true,失败则返回false</returns>
public bool ExecuteNonQury(string sqlStr, string file)
{
OleDbCommand cmd = CreateCommand(sqlStr, file);
int result = cmd.ExecuteNonQuery();
if (result == -1 | result == 0)
{
cmd.Dispose();
Close();
return false;
}
else
{
cmd.Dispose();
Close();
return true;
}
/// <summary>
/// 执行数据库查询
/// </summary>
/// <param name="sqlStr">查询语句</param>
/// <param name="tableName">填充数据集表格的名称</param>
/// <param name="file">数据库所在路径</param>
/// <returns>查询的数据集</returns>
public DataSet GetDataSet(string sqlStr, string file)
{
DataSet ds = new DataSet();
OleDbCommand cmd = CreateCommand(sqlStr, file);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmd);
dataAdapter.Fill(ds);
cmd.Dispose();
Close();
dataAdapter.Dispose();
return ds;
}
/// <summary>
/// 生成一个数据读取器OleDbDataReader并返回该OleDbDataReader
/// </summary>
/// <param name="sqlStr">数据库查询语句</param>
/// <returns>返回一个DataReader对象</returns>
public OleDbDataReader GetReader(string sqlStr, string file)
{
OleDbCommand cmd = CreateCommand(sqlStr, file);
OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
//CommadnBehavior.CloseConnection是将于DataReader的数据库链接关联起来
//当关闭DataReader对象时候也自动关闭链接
return reader;
}
/// <summary>
/// 关闭数据库
/// </summary>
public void Close()
{
if (con != null)
con.Close();
con = null;
}
传进来的路径是带上Access数据库名的
0 0
- C#如何连接ACCESS数据库,并在里面去数据!!
- [150504][C#]C#连接Access数据库并读取数据
- C#中如何连接SQL数据库 并获取数据
- 如何在C#中用连接ACCESS数据库
- C#连接access数据库并将数据读取到dataGridView中显示
- 在C#中如何动态创建access数据库并对SQLserver中的数据导入进去
- C#连接Access数据库
- C#连接access数据库
- C#连接ACCESS数据库
- C#连接Access数据库
- c#连接access数据库
- C#连接Access数据库
- c# 连接ACCESS数据库
- C#连接access数据库
- 如何连接ACCESS数据库
- C#连接数据库并插入数据
- C#连接数据库并插入数据(insert)
- asp.net连接access数据库并显示数据
- java资源竞争问题(线程互斥)
- oracle数据库的导入导出
- Linux常用命令全集 linux_Shell(脚本)编程入门_实例讲解详解
- 自定义的TextView的字体
- codeforce #247 B(div2)
- C#如何连接ACCESS数据库,并在里面去数据!!
- A web application registered the JBDC driver [oracle.jdbc.OracleDriver] but failed to unregister it
- CTTelephonyNetworkInfo 判断当前网络的运营商 和 Core Telephony
- Linux 烧写文件到Nand Flash
- (更新)knockout.js学习——1.5例子
- js表格行拖动
- web前端面试题
- fiddler 显示链接服务器ip
- C++中虚析构函数的作用-- 从内存角度来看这个问题