Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 41320|Odgovoriti: 12

[ASP.NET] [DBHelp] uporablja tehnologijo refleksije za kapsulacijo predmetov v sezname

[Kopiraj povezavo]
Objavljeno na 20. 04. 2015 14:52:57 | | | |
Ta objava je bila nazadnje urejena s strani Delver_Si 21. 4. 2015 ob 16:09

Kakšno vrsto entitete dobim in kakšno zbirko entitet vrnem

  1. //得到一个list<T>
  2.         public static List<T> getList<T>(string strSql)
  3.         {
  4.             List<T> list = new List<T>();

  5.             SqlConnection sqlConn = new SqlConnection(strConn);
  6.             SqlCommand sqlComm = new SqlCommand(strSql, sqlConn);
  7.             sqlConn.Open();
  8.             SqlDataReader sqlDR = sqlComm.ExecuteReader();

  9.             while (sqlDR.Read())
  10.             {
  11.                 //得到T的类型
  12.                 Type t = typeof(T); ;

  13.                 //查看类中的属性:
  14.                 PropertyInfo[] pis = t.GetProperties();
  15.                 // 用反射生成对象
  16.                 T model = Activator.CreateInstance<T>();
  17.                 foreach (PropertyInfo pi in pis)
  18.                 {
  19.                     if (pi!= null)
  20.                     {
  21.                         //取得特定字段并赋值
  22.                         pi.SetValue(model, sqlDR[pi.Name].ToString(), null);
  23.                     }
  24.                     }

  25.                 list.Add(model);
  26.             }
  27.             sqlConn.Close();

  28.             return list;

  29.         }
Kopiraj kodo

Celoten DBHelp.cs
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. using System.Reflection;

  8. namespace ManualAssign
  9. {
  10.     public class DBHelp
  11.     {
  12.         //数据库连接字符串
  13.         private static string strConn = "server=.;database=ManualAssign;integrated security=true";

  14.         //得到一个DataTable
  15.         public static DataTable getTable(string strSql)
  16.         {
  17.             SqlConnection sqlConn = new SqlConnection(strConn);
  18.             SqlDataAdapter sqlDA = new SqlDataAdapter(strSql,sqlConn);
  19.             DataTable dt = new DataTable();
  20.             sqlDA.Fill(dt);
  21.             return dt;
  22.         }

  23.         //增删改
  24.         public static void upDateDB(string strSql)
  25.         {
  26.             SqlConnection sqlConn = new SqlConnection(strConn);
  27.             SqlCommand sqlComm = new SqlCommand(strSql, sqlConn);
  28.             sqlConn.Open();
  29.             sqlComm.ExecuteNonQuery();
  30.             sqlConn.Close();
  31.         }


  32.         //得到一个list<T>
  33.         public static List<T> getList<T>(string strSql)
  34.         {
  35.             List<T> list = new List<T>();

  36.             SqlConnection sqlConn = new SqlConnection(strConn);
  37.             SqlCommand sqlComm = new SqlCommand(strSql, sqlConn);
  38.             sqlConn.Open();
  39.             SqlDataReader sqlDR = sqlComm.ExecuteReader();

  40.             while (sqlDR.Read())
  41.             {
  42.                 //得到T的类型
  43.                 Type t = typeof(T); ;

  44.                 //查看类中的属性:
  45.                 PropertyInfo[] pis = t.GetProperties();
  46.                 // 用反射生成对象
  47.                 T model = Activator.CreateInstance<T>();
  48.                 foreach (PropertyInfo pi in pis)
  49.                 {
  50.                     if (pi!= null)
  51.                     {
  52.                         //取得特定字段并赋值
  53.                         pi.SetValue(model, sqlDR[pi.Name].ToString(), null);
  54.                     }
  55.                     }

  56.                 list.Add(model);
  57.             }
  58.             sqlConn.Close();

  59.             return list;

  60.         }

  61.     }
  62. }
Kopiraj kodo



Partitura

Število udeležencev1MB+1 prispevati+1 Propad razlog
Mala drhal + 1 + 1 Zelo močno!

Oglejte si vse ocene





Prejšnji:Ruijie šolsko omrežje je nestabilno in pogosto pade, imam rešitev!
Naslednji:Japonska razvija ultra-hitre kamere
 Najemodajalec| Objavljeno na 20. 04. 2015 15:56:40 |
Xiao Zhazha Objavljeno 20. 4. 2015 ob 15:36
Poskusil bom ponoči, bolje bi bilo, če bi obstajal primer

Obstajajo primeri
 Najemodajalec| Objavljeno na 20. 04. 2015 15:56:38 |
Xiao Zhazha Objavljeno 20. 4. 2015 ob 15:36
Poskusil bom ponoči, bolje bi bilo, če bi obstajal primer

Obstajajo primeri
Objavljeno na 1. 08. 2015 15:57:53 |
Priložena je DBHelp koda za izvajanje transakcij

Objavljeno na 20. 04. 2015 15:36:14 |
Poskusil bom ponoči, bolje bi bilo, če bi obstajal primer
 Najemodajalec| Objavljeno na 21. 04. 2015 16:10:01 |
Posodobljeno
Objavljeno na 21. 04. 2015 16:50:50 |
Ali lahko naložiš primer stisnjenega paketa?
 Najemodajalec| Objavljeno na 21. 04. 2015 21:06:48 |
izvir

ManualAssign.rar

180,66 KB, Časi prenosa: 6, Krediti za prenos: -1 prestiž, -1 prispevek

 Najemodajalec| Objavljeno na 21. 04. 2015 21:07:00 |
Xiao Zhazha Objavljeno 21. 4. 2015 ob 16:50
Ali lahko naložiš primer stisnjenega paketa?

poslano
Objavljeno na 22. 04. 2015 08:31:39 |

V redu, bom pogledal
Objavljeno na 22. 04. 2015 10:51:19 |

Vzemi ga stran in reci hvala
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com