首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

数据库访问层有关问题

2012-02-25 
数据库访问层问题请问大侠们现在数据库访问层怎样实现都,谁有比较完善的是否可以可以共享下。[解决办法]引

数据库访问层问题
请问大侠们现在数据库访问层怎样实现都,谁有比较完善的是否可以可以共享下。

[解决办法]
引用其dll文件

现在添加引用里增加对应的dll文件,
然后在你应用的类里引用其命名空间即可访问到对应的类下的具体方法等。
[解决办法]
只要简化你原来的代码,不要重复写代码,任何做法都是好的。如果为了分层而分层,仅仅为了把代码换个class或者命名空间重新写一遍的那种分层,就免了。
[解决办法]
用动软生成一个就知道怎么用了。
[解决办法]
搜索关键字:SqlHelper

我觉得这个SqlHelper数据库访问类功能较为强大,一般的数据库访问都能解决,而且可以扩充其功能。
[解决办法]

探讨
只要简化你原来的代码,不要重复写代码,任何做法都是好的。如果为了分层而分层,仅仅为了把代码换个class或者命名空间重新写一遍的那种分层,就免了。

[解决办法]
简化代码为目的
[解决办法]
使用sqlHelper,它帮你封装了基本的数据库操作
[解决办法]
private static readonly string ConnctionStr = ConfigurationManager.AppSettings["DataStr"];
static SqlConnection con = new SqlConnection(ConnctionStr);
private static void open()
{
if (con.State == ConnectionState.Closed)
{
try
{
con.Open();
}
catch { };
}
}
private static void close()
{
if (con.State == ConnectionState.Open)
{
try
{
con.Close();
}
catch { };
}
}
private static void precommand(SqlCommand cmd, string cmdtext, CommandType type, SqlParameter[] paramlist)
{
open();
cmd.Connection=con;
cmd.CommandText = cmdtext;
cmd.CommandType = type;
if (paramlist != null)
{
foreach (SqlParameter param in paramlist)
{
cmd.Parameters.Add(param);
}
}
}
public static int ExecuteNonQuery(string cmdText, CommandType type, SqlParameter[] paramlist)
{
return preExecuteNonQuery(cmdText, type, paramlist);
}
public static int ExecuteNonQuery(string cmdText, CommandType type)
{
return preExecuteNonQuery(cmdText, type, null);
}
private static int preExecuteNonQuery(string cmdText, CommandType type, SqlParameter[] paramlist)
{
SqlCommand cmd = new SqlCommand();
if (paramlist != null)
{
precommand(cmd, cmdText, type, paramlist);
}
else
{
precommand(cmd, cmdText, type, null);
}
int num = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
close();
return num;
}

public static object ExecuteScalar(string cmdText, CommandType type, SqlParameter[] paramlist)
{
return preExecuteScalar(cmdText, type, paramlist);
}
public static object ExecuteScalar(string cmdText, CommandType type)
{
return preExecuteScalar(cmdText, type, null);
}
private static object preExecuteScalar(string cmdText, CommandType type, SqlParameter[] paramlist)
{
SqlCommand cmd = new SqlCommand();
if (paramlist != null)
{
precommand(cmd, cmdText, type, paramlist);
}
else
{
precommand(cmd, cmdText, type, null);
}
object obj = cmd.ExecuteScalar();
cmd.Parameters.Clear();
close();
return obj;
}

public static DataRow ExecuteDataRow(string cmdText, CommandType type, SqlParameter[] paramlist)
{
return preExecuteDataRow(cmdText, type, paramlist);
}
public static DataRow ExecuteDataRow(string cmdText, CommandType type)
{
return preExecuteDataRow(cmdText, type, null);
}
private static DataRow preExecuteDataRow(string cmdText, CommandType type, SqlParameter[] paramlist)
{
SqlCommand cmd = new SqlCommand();
if (paramlist != null)
{
precommand(cmd, cmdText, type, paramlist);
}
else
{
precommand(cmd, cmdText, type, null);
}
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds,"ReturnTable");
cmd.Parameters.Clear();
close();
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
return ds.Tables["ReturnTable"].Rows[0];
}
else return null;
}


public static DataTable ExecuteDataTable(string cmdText, CommandType type, SqlParameter[] paramlist)
{
return preExecuteDataTable(cmdText, type, paramlist);
}
public static DataTable ExecuteDataTable(string cmdText, CommandType type)
{
return preExecuteDataTable(cmdText, type, null);
}
private static DataTable preExecuteDataTable(string cmdText, CommandType type, SqlParameter[] paramlist)
{
SqlCommand cmd = new SqlCommand();
if (paramlist != null)
{
precommand(cmd, cmdText, type, paramlist);
}
else
{
precommand(cmd, cmdText, type, null);
}
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "ReturnTable");
cmd.Parameters.Clear();
close();
if (ds.Tables.Count > 0)
{
return ds.Tables["ReturnTable"];
}
else return null;
}

public static DataSet ExecuteDataSet(string cmdText, CommandType type, SqlParameter[] paramlist)
{
return preExecuteDataSet(cmdText, type, paramlist);
}
public static DataSet ExecuteDataSet(string cmdText, CommandType type)
{
return preExecuteDataSet(cmdText, type, null);
}
private static DataSet preExecuteDataSet(string cmdText, CommandType type, SqlParameter[] paramlist)
{
SqlCommand cmd = new SqlCommand();
if (paramlist != null)
{
precommand(cmd, cmdText, type, paramlist);
}
else
{
precommand(cmd, cmdText, type, null);
}
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "ReturnTable");
cmd.Parameters.Clear();
close();
return ds;
}

热点排行