Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 20445|Jawab: 1

[Sumber] [DBHelper] Kode Optimal Utama

[Salin tautan]
Diposting pada 06/05/2015 12.03.28 | | |
file konfigurasi web.config
  1. <connectionStrings>
  2.     <add name="ApplicationServices"
  3.          connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
  4.          providerName="System.Data.SqlClient" />
  5.           <add name="SQLConn" connectionString="server=.;database=shop_db;integrated security=true;"/>
  6.   </connectionStrings>
Salin kode


Kode HBHelper:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Reflection;
  6. using System.Data.SqlClient;
  7. using System.Data;
  8. using System.Configuration;

  9. namespace shopDAL
  10. {
  11.     public class DBHelper
  12.     {
  13.         //数据库连接对象
  14.         private static SqlConnection connection;
  15.         public static SqlConnection Connection
  16.         {
  17.             get
  18.             {
  19.                 //在配置web.config文件中获取sqlserver服务器ip账号和密码
  20.                 string connectionString = ConfigurationManager.ConnectionStrings["SQLConn"].ConnectionString;
  21.                 if (connection == null)
  22.                 {
  23.                     connection = new SqlConnection(connectionString);
  24.                     connection.Open();
  25.                 }
  26.                 else if (connection.State == System.Data.ConnectionState.Closed)
  27.                 {
  28.                     connection.Open();
  29.                 }
  30.                 else if (connection.State == System.Data.ConnectionState.Broken)
  31.                 {
  32.                     connection.Close();
  33.                     connection.Open();
  34.                 }
  35.                 return connection;
  36.             }
  37.         }

  38.         public static int ExecuteCommand(string safeSql)
  39.         {
  40.             SqlCommand cmd = new SqlCommand(safeSql, Connection);
  41.             int result = cmd.ExecuteNonQuery();
  42.             return result;
  43.         }

  44.         public static int ExecuteCommand(string sql, params SqlParameter[] values)
  45.         {
  46.             SqlCommand cmd = new SqlCommand(sql, Connection);
  47.             cmd.Parameters.AddRange(values);
  48.             return cmd.ExecuteNonQuery();
  49.         }

  50.         public static int GetScalar(string safeSql)
  51.         {
  52.             SqlCommand cmd = new SqlCommand(safeSql, Connection);
  53.             int result = Convert.ToInt32(cmd.ExecuteNonQuery());
  54.             return result;
  55.         }

  56.         public static int GetScalar(string sql, params SqlParameter[] values)
  57.         {
  58.             SqlCommand cmd = new SqlCommand(sql, Connection);
  59.             cmd.Parameters.AddRange(values);
  60.             int result = Convert.ToInt32(cmd.ExecuteNonQuery());
  61.             return result;
  62.         }

  63.         public static SqlDataReader GetReader(string safeSql)
  64.         {
  65.             SqlCommand cmd = new SqlCommand(safeSql, Connection);
  66.             SqlDataReader reader = cmd.ExecuteReader();
  67.             return reader;
  68.         }

  69.         public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
  70.         {
  71.             SqlCommand cmd = new SqlCommand(sql, Connection);
  72.             cmd.Parameters.AddRange(values);
  73.             SqlDataReader reader = cmd.ExecuteReader();
  74.             return reader;
  75.         }

  76.         //private static string strConn = ConfigurationManager.ConnectionStrings["SQLConn"].ConnectionString;
  77.         /// <summary>
  78.         /// 执行sql语句
  79.         /// </summary>
  80.         /// <param name="sql">放入sql语句</param>
  81.         public static void setsql(string sql)
  82.         {
  83.             SqlCommand sqlComm = new SqlCommand(sql, Connection);
  84.             sqlComm.ExecuteNonQuery();
  85.         }
  86.         /// <summary>
  87.         /// 查询数据,返回table类型
  88.         /// </summary>
  89.         /// <param name="sql">放入sql语句</param>
  90.         /// <returns></returns>
  91.         public static DataTable gettable(string sql)
  92.         {
  93.             DataTable dt = new DataTable();
  94.             SqlCommand cmd = new SqlCommand(sql, Connection);
  95.             SqlDataAdapter sqlDA = new SqlDataAdapter(cmd);
  96.             sqlDA.Fill(dt);
  97.             return dt;
  98.         }
  99.         /// <summary>
  100.         /// 利用反射来返回数据
  101.         /// </summary>
  102.         /// <typeparam name="T">泛型集合</typeparam>
  103.         /// <param name="strSql">放入sql语句</param>
  104.         /// <returns></returns>
  105.         public static List<T> getList<T>(string strSql)
  106.         {
  107.             //委托的实例化,指向packBean方法  
  108.             //PackageBean packageBean = new PackageBean(packBean);
  109.             List<T> list = new List<T>();
  110.             SqlCommand sqlComm = new SqlCommand(strSql, Connection);
  111.             SqlDataReader sqlDR = sqlComm.ExecuteReader();
  112.             while (sqlDR.Read())
  113.             {
  114.                 //得到T的类型
  115.                 Type t = typeof(T); ;

  116.                 //查看类中的属性:
  117.                 PropertyInfo[] pis = t.GetProperties();
  118.                 // 用反射生成对象
  119.                 T model = Activator.CreateInstance<T>();
  120.                 foreach (PropertyInfo pi in pis)
  121.                 {
  122.                     if (pi != null)
  123.                     {
  124.                         //取得特定字段并赋值
  125.                         pi.SetValue(model, sqlDR[pi.Name].ToString(), null);
  126.                     }
  127.                 }
  128.                 list.Add(model);
  129.             }
  130.             return list;
  131.         }
  132.     }
  133. }
Salin kode






Mantan:asp.net arsitektur tiga lapis sederhana (sistem manajemen pembelian, penjualan, dan inventaris) kode sumber proyek
Depan:asp.net_linq contoh kueri integrasi bahasa
Diposting pada 06/05/2015 21.13.18 |
Banyak
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com