模仿SqlHelper编写的数据访问基类DAL,适合小规模快速开发使用,信息长期有效,不断更新。
Posted on 2006-08-23 17:57 losingrose 阅读(589) 评论(0) 收藏 举报如果发现有问题请跟贴回馈,这个主要是适合自己用的,所以如果您需求有不同,请原谅。
由于种种原因,我绝对公开源代码,以便更好的发展,希望不要有人非道德利用此代码赚钱。
Sqlhelper 以及配合使用的工具SqlHelperASSetup.rar
开发建议也可以跟贴,也希望多多交流技术。
QQ303864496
使用方法
using losingrose;
SqlDb.DefaultConnectionString = "数据库连接字符串";//或者OleDb.DefaultConnectionString = "数据库连接字符串";
public bool stinid_sel(string stin_id)
{
sql = "SELECT stin_name FROM student_information WHERE (stin_id = @stin_id)";
SqlParameter[] prams = new SqlParameter[1];
prams[0] = new SqlParameter("@stin_id", stin_id);
if (SqlDb.SelectString(sql, prams) != "")
return true;
else
return false;
}
public DataTable class_sel()
{
sql = "SELECT cl_id, ma_id, cl_title FROM class";
return SqlDb.SelectTable(sql, null);
}
工具可以直接根据sql生成以上代码
除DataReader外,其他方法都是自动控制连接的打开和关闭,安全可靠。
没有最好只有更好!
更新记录
--------------------------------
更新时间:2006-11-29
更新内容:修正一些bug,同时支持access,Sqlserver
--------------------------------
更新时间:2007-11-4
更新内容:最近在开发一个大型网站时发现原有函数无法正常调用存储过程,于是增加了存储过程的一些常用调用方法。
展示2种用法:
/// <summary>
/// 查询某表记录,可带where语句过滤
/// </summary>
/// <param name="table">表名</param>
/// <param name="filter">过滤语句,要带where</param>
/// <returns>返回记录总数</returns>
public int ReCount(string table, string filter)
{
sql = "[StoredCount]";
SqlParameter[] prams = new SqlParameter[3];
prams[0] = new SqlParameter("@table", table);
prams[1] = new SqlParameter("@filter", filter);
prams[2] = new SqlParameter("@count", 0);
prams[2].Direction = ParameterDirection.Output;
SqlDb.StoredExecuteNonQuery(sql, prams);
return int.Parse(prams[2].Value.ToString());
}
/// <summary>
/// 从分页存储过程取出相应记录
/// </summary>
/// <param name="table">表名</param>
/// <param name="IdName">键字段名</param>
/// <param name="PageSize">分页记录数</param>
/// <param name="CurrPage">当前页数</param>
/// <param name="filter">where,过滤条件</param>
/// <param name="order">order by,排序条件</param>
/// <returns>查询得到的记录表</returns>
public DataTable StoredPager(string table, string IdName, int PageSize, int CurrPage, string filter, string order)
{
string sql = "StoredPager";
SqlParameter[] prams = new SqlParameter[6];
prams[0] = new SqlParameter("@table", table);
prams[1] = new SqlParameter("@IdName", IdName);
prams[2] = new SqlParameter("@PageSize", PageSize);
prams[3] = new SqlParameter("@CurrPage", CurrPage);
prams[4] = new SqlParameter("@filter", filter);
prams[5] = new SqlParameter("@order", order);
return SqlDb.StoredSelectTable(sql, prams);
}
--------------------------------
更新时间:2007-12-3
更新内容:最近在写Rss收集器的时候发现了一个bug,就是返回参数只能返回字符串的第一个字符,查阅了很多资料最终找到个不是很好的解决方法,用此方法可正常获取返回值。
调用参数需要指定长度:
prams[3] = new SqlParameter("@url","");
prams[3].Direction = ParameterDirection.Output;
prams[3].Size=255;
prams[4] = new SqlParameter("@charset","");
prams[4].Direction = ParameterDirection.Output;
prams[4].Size=20;
浙公网安备 33010602011771号