作为一名软件菜鸟,开始我数据库操作框架的编写。从事编程时间不长,所以可能有些地方描述的不准确,方法用的不够精准,望各位批评指正,谢谢!
既然是数据库操作,那首先就要搭建数据库操作接口。
public interface DBHelpercs
{
DbConnection getConnection();
void ReleaseResource(DbConnection conn,DbCommand comm,DbDataReader reader);
int exectue(DbParameter[] par,string sql);
DbDataReader Query(DbParameter[] par, string sql);
object SingleLine(DbParameter[] par, string sql);
}
然后我实现了SqlServer的操作方法
public class SqlHelper : DBHelpercs
{
public string conSql;
public SqlHelper(string conSql){
this.conSql = conSql;
}
public SqlHelper()
{
}
SqlCommand comm = null;
SqlConnection conn = null;
public int exectue(DbParameter[] par, string sql)
{
conn = getConnection() as SqlConnection;
conn.Open();
comm = new SqlCommand(sql,conn);
comm.Parameters.AddRange(par);
int row = comm.ExecuteNonQuery();
ReleaseResource(conn,comm,null);
return row;
}
public DbConnection getConnection()
{
if (conSql != null)
{
return new SqlConnection(conSql);
}
else
{
throw new ArgumentNullException();
}
}
public DbDataReader Query(DbParameter[] par, string sql)
{
conn = getConnection() as SqlConnection;
conn.Open();
comm = new SqlCommand(sql, conn);
comm.Parameters.AddRange(par);
return comm.ExecuteReader(CommandBehavior.CloseConnection);
}
public void ReleaseResource(DbConnection conn, DbCommand comm, DbDataReader reader)
{
if (conn != null) conn.Close();
if (comm != null) comm.Dispose();
if (reader != null) reader.Close();
}
public object SingleLine(DbParameter[] par, string sql)
{
conn = getConnection() as SqlConnection;
conn.Open();
comm = new SqlCommand(sql, conn);
foreach (var item in par)
{
SqlParameter pp = (SqlParameter)((ICloneable)item).Clone();
comm.Parameters.Add(pp);
}
object row = comm.ExecuteScalar();
ReleaseResource(conn, comm, null);
return row;
}
}
以上就实现了就数据库简易操作的方法
第一次写博客,很多地方不懂,欢迎大家批评指正,谢谢!