Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 41320|Antwort: 12

[ASP.NET] [DBHelp] verwendet Reflexionstechnologie, um Objekte in Listen zu kapseln.

[Link kopieren]
Veröffentlicht am 20.04.2015 14:52:57 | | | |
Dieser Beitrag wurde zuletzt von Delver_Si am 21.04.2015 um 16:09 Uhr bearbeitet

Welche Art von Entität wird mir gegeben und welche Art der Entitätssammlung wird zurückgegeben

  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.         }
Code kopieren

Das ganze 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. }
Code kopieren



Punktzahl

Anzahl der Teilnehmer1MB+1 beitragen+1 Zusammenbruch Grund
Kleiner Abschaum + 1 + 1 Sehr mächtig!

Alle Bewertungen sehen





Vorhergehend:Das Ruijie-Schulnetzwerk ist instabil und bricht oft ab, ich habe eine Lösung!
Nächster:Japan entwickelt Ultra-Hochgeschwindigkeitskameras
 Vermieter| Veröffentlicht am 20.04.2015 15:56:40 |
Xiao Zhazha veröffentlicht am 20.4.2015, 15:36 Uhr
Ich probiere das abends aus, es wäre besser, wenn es ein Beispiel gäbe

Es gibt Beispiele
 Vermieter| Veröffentlicht am 20.04.2015 15:56:38 |
Xiao Zhazha veröffentlicht am 20.4.2015, 15:36 Uhr
Ich probiere das abends aus, es wäre besser, wenn es ein Beispiel gäbe

Es gibt Beispiele
Veröffentlicht am 01.08.2015 15:57:53 |
Angehängt ist ein DBHelp-Transaktionsausführungscode

Veröffentlicht am 20.04.2015 15:36:14 |
Ich probiere das abends aus, es wäre besser, wenn es ein Beispiel gäbe
 Vermieter| Veröffentlicht am 21.04.2015 16:10:01 |
aktualisierte
Veröffentlicht am 21.04.2015 16:50:50 |
Kannst du ein Beispiel für ein komprimiertes Paket hochladen?
 Vermieter| Veröffentlicht am 21.04.2015 21:06:48 |
Quelle

ManualAssign.rar

180,66 KB, Downloadzeiten: 6, Download-Credits: -1 Prestige, -1 Beitrag

 Vermieter| Veröffentlicht am 21.04.2015 21:07:00 |
Xiao Zhazha Veröffentlicht am 21.04.2015, 16:50 Uhr
Kannst du ein Beispiel für ein komprimiertes Paket hochladen?

gesandt
Veröffentlicht am 22.04.2015 08:31:39 |

Okay, ich schaue mal nach
Veröffentlicht am 22.04.2015 10:51:19 |

Nimm es weg und sag Danke
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com