c# 连接sql数据库的类应该怎么写?

dolphin00128 2008-07-04 06:12:20
c# 连接sql数据库的类应该怎么写?
...全文
165 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wocow2316 2008-07-04
  • 打赏
  • 举报
回复
using System;
using System.Data;
using AuditOnline.Common.ExceptionHandler;

namespace AuditOnline.Common.DataAccess
{
/// <summary>
/// 提供对数据表进行数据访问
/// </summary>
public abstract class DataAccessor
{
/// <summary>
/// 更新与DataRow绑定的对象
/// </summary>
/// <param name="binder"></param>
public void Update(IDataBinder binder)
{
binder.BindToRow();
UpdateDataSet(binder);
}

/// <summary>
/// 更新一条记录
/// </summary>
/// <param name="binder"></param>
private void UpdateDataSet(IDataBinder binder)
{
string sql = string.Format("select * from {0}", TableName);
if (binder.Row.Table.DataSet == null)
{
DataSet ds = new DataSet();
ds.Tables.Add(binder.Row.Table);
}
try
{
WebServiceCommon.Instance.SystemServiceCommon.UpdateDataSet(sql, binder.Row.Table.DataSet);
}
catch (Exception ex)
{
ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
throw ex;
}

try
{
binder.Row.AcceptChanges();
}
catch (Exception ex)
{
ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
}
}

/// <summary>
/// 删除一个与DataRow绑定的对象
/// </summary>
/// <param name="findedmodel"></param>
public virtual void Delete(IDataBinder findedmodel)
{
findedmodel.Row.Delete();
UpdateDataSet(findedmodel);
}

/// <summary>
/// 查询当前表所有数据集
/// </summary>
/// <returns></returns>
public DataTable FindAll()
{
string sql = string.Format("select * from {0} ", TableName);
DataSet ds = null;
try
{
ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
}
catch (Exception ex)
{
ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
throw ex;
}
return ds.Tables[0];
}

/// <summary>
/// 通过条件查询当前关联表名的数据集
/// </summary>
/// <param name="clause"></param>
/// <returns></returns>
public DataTable FindByWhereClause(string clause)
{
string sql = string.Format("select * from {0} where {1} ", TableName, clause);
DataSet ds = null;
try
{
ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
}
catch (Exception ex)
{
ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
throw ex;
}
return ds.Tables[0];
}

/// <summary>
/// 通过SQL语句查询数据集
/// </summary>
/// <param name="sqlString"></param>
/// <returns></returns>
public DataTable FindBySQLString(String sqlString)
{
string sql = string.Format(sqlString);
DataSet ds = null;
try
{
ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
}
catch (Exception ex)
{
ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
throw ex;
}
return ds.Tables[0];
}

/// <summary>
/// 通过SQL语句查询数据集(重复)
/// </summary>
/// <param name="sqlString"></param>
/// <returns></returns>
public DataSet FillDataToDataSet(String sqlString)
{
string sql = string.Format(sqlString);
DataSet ds = null;
try
{
ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
}
catch (Exception ex)
{
ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
throw ex;
}
return ds;
}

/// <summary>
/// 当前关联的表的名称
/// </summary>
public abstract string TableName
{
get;
}


/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="sql"></param>
/// <returns>该SQL语句执行后受影响的行数</returns>
public int ExcuteNoQuery(string sql)
{
try
{
return WebServiceCommon.Instance.SystemServiceCommon.SysExecuteNoQuery(sql);
}
catch (Exception ex)
{
ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
throw ex;
}
}
}
}
drychq 2008-07-04
  • 打赏
  • 举报
回复


class DBconnect
{
public static SqlConnection sqlcon()
{
return new SqlConnection("server=.;Initial Catalog=chaoshi;Integrated Security=True");

}

}
调用时。。SqlConnection con=DBconnect.sqlcon();
atpains 2008-07-04
  • 打赏
  • 举报
回复
string _connectionString = ConfigurationManager.ConnectionStrings["xxxx"].ConnectionString;


SqlConnection con = new SqlConnection(_connectionString);

SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = ".....";
cmd.CommandType = CommandType.StoredProcedure;
using (con)
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
.....
}
}

....
}

110,023

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧