博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如果发现有问题请跟贴回馈,这个主要是适合自己用的,所以如果您需求有不同,请原谅。
由于种种原因,我绝对公开源代码,以便更好的发展,希望不要有人非道德利用此代码赚钱。
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;