Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 41320|Svar: 12

[ASP.NET] [DBHelp] bruger refleksionsteknologi til at indkapsle objekter i lister

[Kopier link]
Opslået på 20/04/2015 14.52.57 | | | |
Dette indlæg blev sidst redigeret af Delver_Si den 21-4-2015 kl. 16:09

Hvilken type enhed gives til mig, og hvilken type enhedssamling returneres

  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.         }
Kopier kode

Hele 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. }
Kopier kode



Score

Antal deltagere1MB+1 bidrage+1 Sammenbrud årsag
Lille skarn + 1 + 1 Meget kraftfuldt!

Se alle vurderinger





Tidligere:Ruiji-skolenetværket er ustabilt og falder ofte ud, jeg har en løsning!
Næste:Japan udvikler ultrahøjhastighedskameraer
 Udlejer| Opslået på 20/04/2015 15.56.40 |
Xiao Zhazha Opslået den 20-4-2015 kl. 15:36
Jeg prøver det om natten, det ville være bedre, hvis der var et eksempel

Der er eksempler
 Udlejer| Opslået på 20/04/2015 15.56.38 |
Xiao Zhazha Opslået den 20-4-2015 kl. 15:36
Jeg prøver det om natten, det ville være bedre, hvis der var et eksempel

Der er eksempler
Opslået på 01/08/2015 15.57.53 |
Vedhæftet er en DBHelp-transaktionskode

Opslået på 20/04/2015 15.36.14 |
Jeg prøver det om natten, det ville være bedre, hvis der var et eksempel
 Udlejer| Opslået på 21/04/2015 16.10.01 |
opdateret
Opslået på 21/04/2015 16.50.50 |
Kan du uploade et eksempel på en komprimeret pakke?
 Udlejer| Opslået på 21/04/2015 21.06.48 |
kilde

ManualAssign.rar

180,66 KB, Downloadtider: 6, Downloadkreditter: -1 prestige, -1 bidrag

 Udlejer| Opslået på 21/04/2015 21.07.00 |
Xiao Zhazha Opslået den 21-4-2015 kl. 16:50
Kan du uploade et eksempel på en komprimeret pakke?

sendt
Opslået på 22/04/2015 08.31.39 |

Okay, jeg kigger på det
Opslået på 22/04/2015 10.51.19 |

Tag den væk, og sig tak
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com