C#获取数据库中的 第一行 第一列中的值
应用需求在日常的项目开发中,我们经常会遇到统计某个字段的值,计算总数等的需求确定。这个时候就需要我们的类库中支持一种方法 ,直接执行SQL语句并获取值信息进行使用。这边我没有用EF的方式去写 ,EF获取比较便捷,我们这次使用的是直接调用SQL语句获取执行结果的方式话不多说,贴代码。代码示例/// <summary>/// 根据SQL语...
·
应用需求
在日常的项目开发中,我们经常会遇到统计某个字段的值,计算总数等的需求确定。这个时候就需要我们的类库中支持一种方法 ,直接执行SQL语句并获取值信息进行使用。这边我没有用EF的方式去写 ,EF获取比较便捷,我们这次使用的是直接调用SQL语句获取执行结果的方式 话不多说,贴代码。
代码示例
/// <summary>
/// 根据SQL语句查询某一个值
/// </summary>
/// <param name="sql">需要查询的SQL语句 例:Select Count(1) from User </param>
/// <returns>返回第一行 第一列</returns>
public string GetOnlyValueBySql(string sql)
{
string result = "";
//数据库链接字符串 我是用的自定义的 这个大家随意就好
SqlConnection conn = dbcontext.Database.Connection as SqlConnection;
conn.Open();
SqlCommand cmd = conn.CreateCommand();
//需要执行的SQL语句
cmd.CommandText = sql;
//ExecuteScalar:执行只返回一个值的SQL命令。
result = cmd.ExecuteScalar().ToString();
conn.Dispose();
conn.Close();
return result;
}
/// <summary>
/// 获取DataSet返回结构集
/// </summary>
/// <param name="sql">执行的SQL语句</param>
/// <param name="para">对应的参数信息</param>
/// <returns>返回DataSet</returns>
public DataSet GetDataSet(string sql, params SqlParameter[] para)
{
DataSet sd = new DataSet();
SqlConnection conn = dbcontext.Database.Connection as SqlConnection;
using (SqlCommand cmd = new SqlCommand(sql , conn))
{
cmd.Parameters.AddRange(para);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(sd);
}
return sd;
}
/// <summary>
/// 获取DataTable返回表
/// </summary>
/// <param name="sql">执行的SQL语句</param>
/// <param name="para">对应的参数信息</param>
/// <returns>返回DataTable</returns>
public DataTable GetDataTable(string sql, params SqlParameter[] para)
{
DataTable dt = new DataTable();
SqlConnection conn = dbcontext.Database.Connection as SqlConnection;
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(para);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
return dt;
}
}
尾语
代码示例部分 一不小心 多添加了几个方法 这个主要是避免自己忘掉 做了一个记录 大家多多见谅啊 顺便回顾一下 使用方法
最后说一下使用场景吧 ,这种情况下,我记得以前经常使用的是WebFrom的模式,到现在的MVC,甚至是.Net Core其实也可以使用,不过应用场景可能就只能是统计那方面上的引用了 ,欢迎大家留言进行评论 我会努力调整的
更多推荐
所有评论(0)