博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过sqlHelper访问数据库,查询数据
阅读量:4935 次
发布时间:2019-06-11

本文共 2164 字,大约阅读时间需要 7 分钟。

使用最简单的方式进行对数据库访问,并且查询返回需要的数据;如下步骤:

一、web.config 配置

<connectionStrings>

  <add name="ABConnection" connectionString="Data Source=.;Initial Catalog=xx_Db;User ID=xx;Password=789xxxxxxx;" providerName="System.Data.SqlClient" />
  <add name="AB2Connection" connectionString="Data Source=.;Initial Catalog=xxx_Db; User ID=sa;Password=789xxxxxxx;" providerName="System.Data.SqlClient" />
</connectionStrings>

二、Entity

namespace xx.Entity

{
  public class Entity : DbContext
  {
    public virtual DbSet<User> Users { get; set; }
    public ScrmEntity() : base("name=AB2Connection"){ }
  }
}

三、Model  User 的模型

四、sqlHelp 通过sql 获取数据库查询数据

public class sqlHelper

{

  public static List<T> QueryList<T>(string sql, params SqlParameter[] para )

  {
    string connStr = ConfigurationManager.ConnectionStrings["AB2Connection"].ConnectionString;
    SqlConnection conn = new SqlConnection(connStr);
    SqlCommand comm = new SqlCommand(sql, conn);
    comm.Parameters.AddRange(para);
    conn.Open();
    var reader= comm.ExecuteReader();

    List<T> DataList = new List<T>();

    while (reader.Read())
    {
      T RowInstance = Activator.CreateInstance<T>();//动态创建数据实体对象
      //通过反射取得对象所有的Property
      foreach (PropertyInfo Property in typeof(T).GetProperties())
      {
        try
        {
          //取得当前数据库字段的顺序
          int Ordinal = reader.GetOrdinal(Property.Name);
          if (reader.GetValue(Ordinal) != DBNull.Value)
          {
            var ptype = Property.PropertyType;
            var pvalue = reader.GetValue(Ordinal);
            var ppvalue = Convert.ChangeType(pvalue, ptype);
            //将DataReader读取出来的数据填充到对象实体的属性里
            Property.SetValue(RowInstance, ppvalue, null);
          }
        }
        catch
        {
          break;
        }
      }
      DataList.Add(RowInstance);
    }
    return DataList;
  }

五、xxController

string sql = "select Password from xxTable.Users where UserName=@loginId";

//构建参数
SqlParameter[] pms = new SqlParameter[]
{
  new SqlParameter("@loginId",SqlDbType.VarChar,50){ Value =user.userName},
};
var hashPassword = sqlHelper.ExecuteScalar(sql, pms);

 

转载于:https://www.cnblogs.com/llw1996/p/11405319.html

你可能感兴趣的文章
020-安装centos6.5后的生命历程
查看>>
面试介绍项目经验(转)
查看>>
创建并设置ASP.NET的会话状态服务器(SQL State Server)
查看>>
<metro>Google的验证
查看>>
SQL中NUMERIC和DECIMAL的区别
查看>>
安卓课程设计:微课表
查看>>
Oracle 表的分组操作
查看>>
在OS X上的Intllij Idea中配置GlassFish
查看>>
用查表法快速转换yv12到RGB【转】
查看>>
使用公钥登录SSL
查看>>
实验四 shell 编程(2)
查看>>
hdu 1290_献给杭电五十周年校庆的礼物
查看>>
Nginx 入门
查看>>
openCR-用ROS代码点亮LED的方法
查看>>
豆瓣电影api
查看>>
BufferedInputStream和FileInputStream的区别
查看>>
二阶段之六
查看>>
微博爬虫 python
查看>>
中石油 【递归】普通递归关系
查看>>
vue报错Error in render: "TypeError: Cannot read property '0' of undefined"
查看>>