See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 41320|Vastuse: 12

[ASP.NET] [DBHelp] kasutab peegeldustehnoloogiat, et kapseldada objektid nimekirjadesse

[Kopeeri link]
Postitatud 20.04.2015 14:52:57 | | | |
Seda postitust toimetas Delver_Si viimati 2015-4-21 kell 16:09

Millist tüüpi üksust mulle antakse ja millist tüüpi üksuste kogumik tagastatakse

  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.         }
Kopeeri kood

Kogu 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. }
Kopeeri kood



Skoor

Osalejate arv1MB+1 Aitavad kaasa+1 Ahenda põhjus
Väike sodi + 1 + 1 Väga võimas!

Vaata kõiki hinnanguid





Eelmine:Ruijie koolivõrgustik on ebastabiilne ja tihti katkeb, mul on lahendus!
Järgmine:Jaapan arendab ülikiireid kaameraid
 Üürileandja| Postitatud 20.04.2015 15:56:40 |
Xiao Zhazha postitatud 2015-4-20 15:36
Proovin seda öösel, oleks parem, kui oleks näide

On näiteid
 Üürileandja| Postitatud 20.04.2015 15:56:38 |
Xiao Zhazha postitatud 2015-4-20 15:36
Proovin seda öösel, oleks parem, kui oleks näide

On näiteid
Postitatud 01.08.2015 15:57:53 |
Lisatud on DBHelp tehingu täitmise kood

Postitatud 20.04.2015 15:36:14 |
Proovin seda öösel, oleks parem, kui oleks näide
 Üürileandja| Postitatud 21.04.2015 16:10:01 |
Uuendatud
Postitatud 21.04.2015 16:50:50 |
Kas saad üles laadida näite tihendatud paketist?
 Üürileandja| Postitatud 21.04.2015 21:06:48 |
allikas

ManualAssign.rar

180,66 KB, allalaadimisajad: 6, allalaadimiskrediidid: -1 prestiiž, -1 panus

 Üürileandja| Postitatud 21.04.2015 21:07:00 |
Xiao Zhazha postitatud 2015-4-21 16:50
Kas saad üles laadida näite tihendatud paketist?

saadetud
Postitatud 22.04.2015 08:31:39 |

Olgu, ma vaatan üle.
Postitatud 22.04.2015 10:51:19 |

Võta see ära ja ütle aitäh
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com