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

Melihat: 41320|Jawab: 12

[ASP.NET] [DBHelp] menggunakan teknologi refleksi untuk merangkum objek ke dalam Daftar

[Salin tautan]
Diposting pada 20/04/2015 14.52.57 | | | |
Posting ini terakhir diedit oleh Delver_Si pada 2015-4-21 16:09

Jenis entitas apa yang diberikan kepada saya, dan jenis koleksi entitas apa yang dikembalikan

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

Seluruh 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. }
Salin kode



Skor

Jumlah peserta1MB+1 sumbang+1 Roboh alasan
Sampah kecil + 1 + 1 Sangat kuat!

Lihat semua penilaian





Mantan:Jaringan sekolah Ruijie tidak stabil dan sering turun, saya punya solusi!
Depan:Jepang mengembangkan kamera berkecepatan sangat tinggi
 Tuan tanah| Diposting pada 20/04/2015 15.56.40 |
Xiao Zhazha Posted pada 2015-4-20 15:36
Saya akan mencoba ini di malam hari, akan lebih baik jika ada contoh

Ada contohnya
 Tuan tanah| Diposting pada 20/04/2015 15.56.38 |
Xiao Zhazha Posted pada 2015-4-20 15:36
Saya akan mencoba ini di malam hari, akan lebih baik jika ada contoh

Ada contohnya
Diposting pada 01/08/2015 15.57.53 |
Dilampirkan adalah kode eksekusi transaksi DBHelp

Diposting pada 20/04/2015 15.36.14 |
Saya akan mencoba ini di malam hari, akan lebih baik jika ada contoh
 Tuan tanah| Diposting pada 21/04/2015 16.10.01 |
Diperbarui
Diposting pada 21/04/2015 16.50.50 |
Bisakah Anda mengunggah contoh paket terkompresi?
 Tuan tanah| Diposting pada 21/04/2015 21.06.48 |
sumber

ManualAssign.rar

180.66 KB, Waktu unduh: 6, Unduh kredit: -1 prestise, -1 kontribusi

 Tuan tanah| Diposting pada 21/04/2015 21.07.00 |
Xiao Zhazha Dipaparkan pada 2015-4-21 16:50
Bisakah Anda mengunggah contoh paket terkompresi?

dikirim
Diposting pada 22/04/2015 08.31.39 |

Oke, saya akan melihatnya
Diposting pada 22/04/2015 10.51.19 |

Ambil, dan ucapkan terima kasih
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