求C# winform中 access连接、读取、添加、删除和修改的通用类 的使用案例。

最好简单的写成案例发给我。。。谢谢QQ404216051
2024-12-23 13:21:38
推荐回答(2个)
回答1:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication1
{
using System.Data;
using System.Data.OleDb;

public class AccessHelp
{
// 连接数据源
private OleDbConnection conn = null;
///


/// 数据源
///

/// 数据源连接字符串
public OleDbConnection DataBase(string conStr)
{
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ conStr +";Jet OLEDB:System Database=system.mdw;");
this.Open();
return conn;
}
///
/// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
///

/// 查询语句
/// DataSet
public DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.CommandTimeout = 20;
System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(ds, "tempTable");
}
catch (Exception e)
{
ds = null;
}
return ds;
}
///
/// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
///

/// 查询语句
/// 开始记录数
/// 最大记录数
/// DataSet
public DataSet GetDataSet(string sql, int sRecord, int mRecord)
{
DataSet ds = new DataSet();
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.CommandTimeout = 20;
System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(ds, sRecord, mRecord, "tempTable");
}
catch (Exception e)
{
ds = null;
}
return ds;
}
///
/// 对数据库的增,删,改的操作
///

/// SQL语句
/// 是否成功
public bool ExecuteDataBase(string sql)
{
bool succeed = false;
int cnt = 0;
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.CommandTimeout = 20;
if (this.Open())
cnt = cmd.ExecuteNonQuery();
}
catch (Exception e)
{
e.ToString();
}
finally
{
if (cnt > 0)
{
succeed = true;
}
}
return succeed;
}
///
/// 获得该SQL查询返回的第一行第一列的值,如果没有查询到则返回NULL
///

/// 查询语句
/// 返回的第一行第一列的值
public string GetScalar(string sql)
{
string str = null;
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
if (this.Open())
str = cmd.ExecuteScalar().ToString();
}
catch (Exception e)
{
e.ToString();
}
return str;
}

///
/// 获得该SQL查询返回DataTable,如果没有查询到则返回NULL
///

/// 查询语句
///
public DataTable GetDataTable(string sql)
{
DataTable tb = null;
DataSet ds = this.GetDataSet(sql);
if (ds != null)
{
tb = ds.Tables["tempTable"];
}
return tb;
}
///
/// 打开数据库连接.
///

private bool Open()
{
bool succeed = false;
try
{
if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
succeed = true;
}
else if (conn.State == System.Data.ConnectionState.Broken)
{
conn.Close();
conn.Open();
succeed = true;
}
else if (conn.State == System.Data.ConnectionState.Open)
{
succeed = true;
}
}
catch (Exception e)
{
e.ToString();
}

return succeed;
}
///
/// 关闭数据库连接
///

public void Close()
{
if (conn != null)
{
conn.Close();
}
}
///
/// 释放数据库连接资源
///

public void Dispose()
{
if (conn != null)
{
conn.Dispose();
conn = null;
}
}
}

}
你只要把Access数据库的存在的目录地址,调用DataBase这个方法就行了
仔细看看这个help类,都有中文解释的,和SqlHelper类一样调用,很简单的
项目我先发到你的QQ邮箱,今天加你QQ,可能你不在线吧
你邮箱设置了禁止接收陌生邮件的,我发离线文件给你吧

回答2:

在百度搜“SQL语句大全”,下载看一下,就都可以了。