• 关于数据库及存储过程


    数据库中count(*)和count(数字)的区别:
    我们知道要查询一个表的记录数,通常使用Select count(*) from 表名,那么它和count(数字),这里的数字可以是任意数字,又有何区别呢?count(*)在查询汇总的时候是去遍历表字段大
    小最短的那一列,而count(数字),打个比方,count(1)就是在查询结果后面加一列,那一列的数据全是1,统计有多少个1,所以这里的数字无论是什么都可以,所以这两个方法从执行效率上
    讲,没有高低之分,因为字段的长度有的比int还小,那么count(*)就比count(数字)的效率高,反之则低,要据实际情况而论。

    exec 存储过程名
    exec ('SQL语句')

    数据访问层使用存储过程(例子):

    public List<Model.HKSJ_Main> LoadDataByPage(int pageIndex, int pageSize, out int total)
    {
    //执行一个存储过程将当前页数据查询出来。

    SqlParameter totalPara = new SqlParameter("@total", SqlDbType.Int);
    DataSet ds = new DataSet();


    using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
    {
    conn.Open();

    using (SqlDataAdapter adapter = new SqlDataAdapter("PR_LoadPageData", conn))
    {
    adapter.SelectCommand.CommandType = CommandType.StoredProcedure;

    adapter.SelectCommand.Parameters.AddWithValue("@pageSize", pageSize);
    adapter.SelectCommand.Parameters.AddWithValue("@pageIndex", pageIndex);


    totalPara.Direction = ParameterDirection.Output;//输出参数。
    adapter.SelectCommand.Parameters.Add(totalPara);


    adapter.Fill(ds);
    }
    }

    total = int.Parse(ds.Tables[1].Rows[0][0].ToString());
    total =(int)totalPara.Value;

    //把DataSet数据转成集合数据
    return DataTableToList(ds.Tables[0]);


    }

  • 相关阅读:
    OC-字典
    作业
    block语法排序 遍历
    oc-NSArray
    oc之获取系统当前时间的方法
    修改mysql的默认字符集
    mysql查询结果添加序列号
    PHP Socket 编程过程详解
    一篇详细的 Mysql Explain 详解
    阿里云云主机挂载数据盘,格式化硬盘(新购云主机)(转)
  • 原文地址:https://www.cnblogs.com/chens2865/p/3299194.html
Copyright © 2020-2023  润新知