C#对底层数据操作的通用类
2004-08-03 12:57
531 查看
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DataLibrary
{
/// <summary>
/// 数据连接设置
/// </summary>
public class SqlConnect
{
static string sqlconnstr;
/// <summary>
/// 连接字符串
/// </summary>
public string ConnString
{
set
{
sqlconnstr=value;
}
get
{
return sqlconnstr;
}
}
/// <summary>
/// 取得连接
/// </summary>
/// <returns></returns>
public SqlConnection GetSqlConnection()
{
SqlConnection _connection=null;
if(sqlconnstr==null || sqlconnstr=="")
{
string SystemDir=System.Environment.SystemDirectory;
DisposalConductService DisposalConductService1= new DisposalConductService(SystemDir+"//CBERP_Dis.DLL") ;
sqlconnstr = "server="+DisposalConductService1.GetValue("ServerName","(local)")
+";user id="+DisposalConductService1.GetValue("SqlAccount","sa")
+";password="+DisposalConductService1.GetValue("PassWord","jiayu520")
+";Database="+DisposalConductService1.GetValue("Database","CBERP");
}
try
{
_connection = new SqlConnection(sqlconnstr);
_connection.Open();
}
catch(SqlException SE)
{
if(SE.Number==17 || SE.Number==18456)
{
if( MessageBox.Show("数据库访问参数设置不正确,是否对需要对其进行设置?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
{
sqlconnstr="";
DisposalConduct config = new DisposalConduct();
config.ShowDialog();
_connection=GetSqlConnection();
}
else
{
MessageBox.Show("建立数据库连接失败,程序不能继续运行!","错误",MessageBoxButtons.OK,MessageBoxIcon.Stop);
Application.ExitThread();
Application.Exit();
}
}
else
{
MessageBox.Show(SE.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
_connection.Close();
}
}
return _connection;
}
}
/// <summary>
/// 数据配置
/// </summary>
public class DataCatena : IDisposable
{
private SqlConnection _connection;
/// <summary>
/// 数据配置
/// </summary>
public DataCatena()
{
SqlConnect sqlconnect = new SqlConnect();
_connection = sqlconnect.GetSqlConnection();
_connection.Close();
}
/// <summary>
/// 数据配置
/// </summary>
/// <param name="connStr">连接字符串</param>
public DataCatena(String connStr)
{
_connection = new SqlConnection(connStr);
}
/// <summary>
/// 取得DataView
/// </summary>
/// <param name="Sqlstr">连接字符串</param>
/// <returns>数据视图</returns>
public DataView GetDataView(String Sqlstr)
{
DataView dv=null;
SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);
DataSet ds = new DataSet();
try
{
myCommand.Fill(ds,"table");
dv=ds.Tables["table"].DefaultView;
}
catch(SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.Message);
db.Show();
}
return dv;
}
/// <summary>
/// 清理资源
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(true);
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing"></param>
protected virtual void Dispose(bool disposing)
{
if (! disposing)
return;
if (this._connection != null)
{
this._connection.Dispose();
}
}
/// <summary>
/// 取得数据适配器
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns>数据适配器</returns>
public SqlDataAdapter GetSqlDA(string Sqlstr)
{
SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);
return myCommand;
}
/// <summary>
/// 取得数据表
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns>数据表</returns>
public DataTable GetDT(String Sqlstr)
{
SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);
DataSet ds = new DataSet();
try
{
myCommand.Fill(ds,"table");
}
catch(SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.ToString());
db.Show();
}
return ds.Tables["table"];
}
/// <summary>
/// 执行语句
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns></returns>
public object ExecWithValue(String Sqlstr)
{
object result=null;
_connection.Open();
SqlCommand myCommand = new SqlCommand(Sqlstr, _connection);
try
{
result=myCommand.ExecuteScalar();
}
catch (SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.ToString());
db.Show();
//MessageBox.Show(exc.Message);
}
_connection.Close();
return result;
}
/// <summary>
/// 返回相应的行数
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns>行数</returns>
public int Exec(String Sqlstr)
{
int sucess=0;
SqlCommand myCommand = new SqlCommand(Sqlstr, _connection);
_connection.Open();
try
{
myCommand.ExecuteNonQuery();
}
catch (SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.ToString());
db.Show();
// MessageBox.Show(exc.Message);
sucess=exc.Number;
}
_connection.Close();
return sucess;
}
}
/// <summary>
/// 单表操作
/// </summary>
public class SingleTable
{
private DataCatena DataCatena;
private SqlDataAdapter myDataAdapter;
private DataSet ds;
/// <summary>
/// 单表操作
/// </summary>
/// <param name="Sqlstr"></param>
public SingleTable(string Sqlstr)
{
DataCatena = new DataCatena();
myDataAdapter = DataCatena.GetSqlDA(Sqlstr);
ds = new DataSet();
myDataAdapter.Fill(ds, "Table1");
}
/// <summary>
/// 更新一个表
/// </summary>
/// <param name="Sqlstr"></param>
public void SetUpdateCommand(string Sqlstr)
{
myDataAdapter.UpdateCommand = new SqlCommand(Sqlstr,myDataAdapter.SelectCommand.Connection);
}
/// <summary>
/// 返回数据表
/// </summary>
/// <returns></returns>
public DataTable GetDataTable()
{
return ds.Tables["Table1"];
}
/// <summary>
/// 返回数据适配器
/// </summary>
/// <returns></returns>
public SqlDataAdapter GetDataAdapter()
{
return myDataAdapter;
}
/// <summary>
/// 更新表
/// </summary>
public void Update()
{
myDataAdapter.Update(ds, "Table1");
}
}
/// <summary>
/// 自动更新
/// </summary>
public class AutoUpdateObj
{
private DataCatena DataCatena;
private SqlDataAdapter myDataAdapter;
private SqlCommandBuilder cb;
private DataSet ds;
/// <summary>
/// 自动更新
/// </summary>
/// <param name="Sqlstr"></param>
public AutoUpdateObj(string Sqlstr)
{
DataCatena = new DataCatena();
myDataAdapter = DataCatena.GetSqlDA(Sqlstr);
cb = new SqlCommandBuilder(myDataAdapter);
ds = new DataSet();
myDataAdapter.Fill(ds, "Table1");
}
/// <summary>
/// 更新SQL语句
/// </summary>
/// <param name="Sqlstr"></param>
public void SetUpdateCommand(string Sqlstr)
{
myDataAdapter.UpdateCommand = new SqlCommand(Sqlstr,myDataAdapter.SelectCommand.Connection);
}
/// <summary>
/// 设置Select语句
/// </summary>
/// <param name="Sqlstr"></param>
public void SetSelectCommand(string Sqlstr)
{
myDataAdapter.SelectCommand = new SqlCommand(Sqlstr,myDataAdapter.SelectCommand.Connection);
cb.DataAdapter = myDataAdapter ;
ds.Tables.Clear();
}
/// <summary>
/// 取得数据表
/// </summary>
/// <returns></returns>
public DataTable GetDataTable()
{
ds.Clear();
myDataAdapter.Fill(ds, "Table1");
return ds.Tables["Table1"];
}
/// <summary>
/// 取得数据适配器
/// </summary>
/// <returns></returns>
public SqlDataAdapter GetDataAdapter()
{
return myDataAdapter;
}
/// <summary>
/// 更新
/// </summary>
public void Update()
{
try
{
myDataAdapter.Update(ds, "Table1");
}
catch(SqlException sqlex)
{
MessageBox.Show("出错原因:"+sqlex.Message,"出错",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
}
}
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DataLibrary
{
/// <summary>
/// 数据连接设置
/// </summary>
public class SqlConnect
{
static string sqlconnstr;
/// <summary>
/// 连接字符串
/// </summary>
public string ConnString
{
set
{
sqlconnstr=value;
}
get
{
return sqlconnstr;
}
}
/// <summary>
/// 取得连接
/// </summary>
/// <returns></returns>
public SqlConnection GetSqlConnection()
{
SqlConnection _connection=null;
if(sqlconnstr==null || sqlconnstr=="")
{
string SystemDir=System.Environment.SystemDirectory;
DisposalConductService DisposalConductService1= new DisposalConductService(SystemDir+"//CBERP_Dis.DLL") ;
sqlconnstr = "server="+DisposalConductService1.GetValue("ServerName","(local)")
+";user id="+DisposalConductService1.GetValue("SqlAccount","sa")
+";password="+DisposalConductService1.GetValue("PassWord","jiayu520")
+";Database="+DisposalConductService1.GetValue("Database","CBERP");
}
try
{
_connection = new SqlConnection(sqlconnstr);
_connection.Open();
}
catch(SqlException SE)
{
if(SE.Number==17 || SE.Number==18456)
{
if( MessageBox.Show("数据库访问参数设置不正确,是否对需要对其进行设置?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
{
sqlconnstr="";
DisposalConduct config = new DisposalConduct();
config.ShowDialog();
_connection=GetSqlConnection();
}
else
{
MessageBox.Show("建立数据库连接失败,程序不能继续运行!","错误",MessageBoxButtons.OK,MessageBoxIcon.Stop);
Application.ExitThread();
Application.Exit();
}
}
else
{
MessageBox.Show(SE.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
_connection.Close();
}
}
return _connection;
}
}
/// <summary>
/// 数据配置
/// </summary>
public class DataCatena : IDisposable
{
private SqlConnection _connection;
/// <summary>
/// 数据配置
/// </summary>
public DataCatena()
{
SqlConnect sqlconnect = new SqlConnect();
_connection = sqlconnect.GetSqlConnection();
_connection.Close();
}
/// <summary>
/// 数据配置
/// </summary>
/// <param name="connStr">连接字符串</param>
public DataCatena(String connStr)
{
_connection = new SqlConnection(connStr);
}
/// <summary>
/// 取得DataView
/// </summary>
/// <param name="Sqlstr">连接字符串</param>
/// <returns>数据视图</returns>
public DataView GetDataView(String Sqlstr)
{
DataView dv=null;
SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);
DataSet ds = new DataSet();
try
{
myCommand.Fill(ds,"table");
dv=ds.Tables["table"].DefaultView;
}
catch(SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.Message);
db.Show();
}
return dv;
}
/// <summary>
/// 清理资源
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(true);
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing"></param>
protected virtual void Dispose(bool disposing)
{
if (! disposing)
return;
if (this._connection != null)
{
this._connection.Dispose();
}
}
/// <summary>
/// 取得数据适配器
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns>数据适配器</returns>
public SqlDataAdapter GetSqlDA(string Sqlstr)
{
SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);
return myCommand;
}
/// <summary>
/// 取得数据表
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns>数据表</returns>
public DataTable GetDT(String Sqlstr)
{
SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);
DataSet ds = new DataSet();
try
{
myCommand.Fill(ds,"table");
}
catch(SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.ToString());
db.Show();
}
return ds.Tables["table"];
}
/// <summary>
/// 执行语句
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns></returns>
public object ExecWithValue(String Sqlstr)
{
object result=null;
_connection.Open();
SqlCommand myCommand = new SqlCommand(Sqlstr, _connection);
try
{
result=myCommand.ExecuteScalar();
}
catch (SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.ToString());
db.Show();
//MessageBox.Show(exc.Message);
}
_connection.Close();
return result;
}
/// <summary>
/// 返回相应的行数
/// </summary>
/// <param name="Sqlstr">SQL语句</param>
/// <returns>行数</returns>
public int Exec(String Sqlstr)
{
int sucess=0;
SqlCommand myCommand = new SqlCommand(Sqlstr, _connection);
_connection.Open();
try
{
myCommand.ExecuteNonQuery();
}
catch (SqlException exc)
{
DebugBox db = new DebugBox(Sqlstr + "/r/n" + exc.ToString());
db.Show();
// MessageBox.Show(exc.Message);
sucess=exc.Number;
}
_connection.Close();
return sucess;
}
}
/// <summary>
/// 单表操作
/// </summary>
public class SingleTable
{
private DataCatena DataCatena;
private SqlDataAdapter myDataAdapter;
private DataSet ds;
/// <summary>
/// 单表操作
/// </summary>
/// <param name="Sqlstr"></param>
public SingleTable(string Sqlstr)
{
DataCatena = new DataCatena();
myDataAdapter = DataCatena.GetSqlDA(Sqlstr);
ds = new DataSet();
myDataAdapter.Fill(ds, "Table1");
}
/// <summary>
/// 更新一个表
/// </summary>
/// <param name="Sqlstr"></param>
public void SetUpdateCommand(string Sqlstr)
{
myDataAdapter.UpdateCommand = new SqlCommand(Sqlstr,myDataAdapter.SelectCommand.Connection);
}
/// <summary>
/// 返回数据表
/// </summary>
/// <returns></returns>
public DataTable GetDataTable()
{
return ds.Tables["Table1"];
}
/// <summary>
/// 返回数据适配器
/// </summary>
/// <returns></returns>
public SqlDataAdapter GetDataAdapter()
{
return myDataAdapter;
}
/// <summary>
/// 更新表
/// </summary>
public void Update()
{
myDataAdapter.Update(ds, "Table1");
}
}
/// <summary>
/// 自动更新
/// </summary>
public class AutoUpdateObj
{
private DataCatena DataCatena;
private SqlDataAdapter myDataAdapter;
private SqlCommandBuilder cb;
private DataSet ds;
/// <summary>
/// 自动更新
/// </summary>
/// <param name="Sqlstr"></param>
public AutoUpdateObj(string Sqlstr)
{
DataCatena = new DataCatena();
myDataAdapter = DataCatena.GetSqlDA(Sqlstr);
cb = new SqlCommandBuilder(myDataAdapter);
ds = new DataSet();
myDataAdapter.Fill(ds, "Table1");
}
/// <summary>
/// 更新SQL语句
/// </summary>
/// <param name="Sqlstr"></param>
public void SetUpdateCommand(string Sqlstr)
{
myDataAdapter.UpdateCommand = new SqlCommand(Sqlstr,myDataAdapter.SelectCommand.Connection);
}
/// <summary>
/// 设置Select语句
/// </summary>
/// <param name="Sqlstr"></param>
public void SetSelectCommand(string Sqlstr)
{
myDataAdapter.SelectCommand = new SqlCommand(Sqlstr,myDataAdapter.SelectCommand.Connection);
cb.DataAdapter = myDataAdapter ;
ds.Tables.Clear();
}
/// <summary>
/// 取得数据表
/// </summary>
/// <returns></returns>
public DataTable GetDataTable()
{
ds.Clear();
myDataAdapter.Fill(ds, "Table1");
return ds.Tables["Table1"];
}
/// <summary>
/// 取得数据适配器
/// </summary>
/// <returns></returns>
public SqlDataAdapter GetDataAdapter()
{
return myDataAdapter;
}
/// <summary>
/// 更新
/// </summary>
public void Update()
{
try
{
myDataAdapter.Update(ds, "Table1");
}
catch(SqlException sqlex)
{
MessageBox.Show("出错原因:"+sqlex.Message,"出错",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
}
}
相关文章推荐
- C#对底层数据操作的通用类
- C#对底层数据操作的通用类
- C# 串口操作系列(4) -- 协议篇,文本协议数据解析
- Zookeeper系列(二十二)Zookeeper原理解析之序列化之底层通信数据封装与操作和Record接口
- 最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类
- ADO.NET操作数据代码汇总(C#)
- C#操作SQL Server数据库通用类
- C# 串口操作系列(4) -- 协议篇,文本协议数据解析
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-AE常用操作代码
- c# OleDb操作Access时间类型:操作符丢失,或者提示错误“标准表达式中数据类型不匹配
- C#操作json类型数据
- C# 操作Excel ——Excel获取数据、时间、图片
- C# 两个ListBox 数据互传-基础操作
- C#操作Excel,套用模板并对数据进行分页
- 对DataGridView进行添加、修改、删除数据操作----C#
- C# 判断 检测 access 建库 建表 文件是否存在等 数据操作 使用 ADOX
- 最近写一个C#关于U盘的操作,在弹出U盘是遇到了些问题,C#调WINdoWs底层的东西太麻烦了,看样子要看看VC或C了
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# post数据时 出现如下错误: System.Net.WebException: 操作超时
- C#操作SQL Server中的Image类型数据