DbHelper数据库通用类使用方法

代码
//执行SQL语句
public static void ExecSqlCommand()
{
DbHelper db
= new DbHelper();
DbCommand command
= db.GetSqlStringCommond("select * from t1_insert");
db.ExecuteNonQuery(command);
}

//执行存储过程
public static void ExecStoredProcedure()
{
DbHelper db
= new DbHelper();
DbCommand command
= db.GetStoredProcCommond("t1_insert");
db.AddInParameter(command,
"@id", DbType.String, "heihei");
db.AddInParameter(command,
"@id", DbType.String, "heihei");
db.ExecuteNonQuery(command);
}

//返回DataTable
public static void GetDataTable()
{
DbHelper db
= new DbHelper();
DbCommand command
= db.GetSqlStringCommond("t1_findall");
DataTable dt
= db.ExecuteDataTable(command);
}

//获取各种返回值
public static void GetAllParameter()
{
DbHelper db
= new DbHelper();
DbCommand command
= db.GetStoredProcCommond("t2_insert");

db.AddInParameter(command,
"@timeticks", DbType.Int64, DateTime.Now.Ticks);
db.AddOutParameter(command,
"@outString", DbType.String, 20);
db.AddReturnParameter(command,
"@returnValue", DbType.Int32);
db.ExecuteNonQuery(command);

string s = db.GetParameter(command, "@outString").Value as string;//out parameter
int r = Convert.ToInt32(db.GetParameter(command, "@returnValue").Value);//return value
}

//DateReader操作
public static void GetDataReader()
{
DbHelper db
= new DbHelper();
DbCommand command
= db.GetStoredProcCommond("t2_insert");

db.AddInParameter(command,
"@timeticks", DbType.Int64, DateTime.Now.Ticks);
db.AddOutParameter(command,
"@outString", DbType.String, 20);
db.AddReturnParameter(command,
"@returnValue", DbType.Int32);

using (DbDataReader reader = db.ExecuteReader(command))
{
//dt.Load(reader);
}
string s = db.GetParameter(command, "@outString").Value as string;//out parameter
int r = Convert.ToInt32(db.GetParameter(command, "@returnValue").Value);//return value
}

//获取DataSet
public static void GetDataSet()
{
DbHelper db
= new DbHelper();
DbCommand command
= db.GetSqlStringCommond("select * from t1");
DataSet ds
= db.ExecuteDataSet(command);
}

//事务的使用.(项目中需要将基本的数据库操作组合成一个完整的业务流时,代码级的事务是必不可少的哦)
public void DoBusiness()
{
using (Trans t = new Trans())
{
try
{
D1(t);
throw new Exception();//如果有异常,会回滚滴
D2(t);
t.Commit();
}
catch
{
t.RollBack();
}
}
}

public void D1(Trans t)
{
DbHelper db
= new DbHelper();
DbCommand cmd
= db.GetStoredProcCommond("t2_insert");

db.AddInParameter(cmd,
"@timeticks", DbType.Int64, DateTime.Now.Ticks);
db.AddOutParameter(cmd,
"@outString", DbType.String, 20);
db.AddReturnParameter(cmd,
"@returnValue", DbType.Int32);

if (t == null)
db.ExecuteNonQuery(cmd);
else db.ExecuteNonQuery(cmd,t);

string s = db.GetParameter(cmd, "@outString").Value as string;//out parameter
int r = Convert.ToInt32(db.GetParameter(cmd, "@returnValue").Value);//return value
}

public void D2(Trans t)
{
DbHelper db
= new DbHelper();
DbCommand cmd
= db.GetSqlStringCommond("insert t1 (id)values(‘..‘)");
if (t == null)
db.ExecuteNonQuery(cmd);
else db.ExecuteNonQuery(cmd, t);
}

 

其中 DbCommand 位于 using System.Data.Common 命名空间

 

上一篇: 数据库访问通用类DbHelper源码

posted @ 2010-10-13 00:23  RyanBell  阅读(14966)  评论(1编辑  收藏  举报