通過sqlHelper訪問數據庫,查詢數據


使用最簡單的方式進行對數據庫訪問,並且查詢返回需要的數據;如下步驟:

一、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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM