利用反射读取数据库数据
2017-04-13 22:30
344 查看
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { public class DBHelper { private static string ConnectionStringCustomers = ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString; public void Query() { } public T QueryDomain<T>() { int OrderID = 2; Type type = typeof(T); T t = (T)Activator.CreateInstance(type); foreach( var a in type.GetProperties()) { Console.WriteLine("11"); } string column = string.Join(",", type.GetProperties().Select(p => string.Format("{0}", p.Name))); string sql = string.Format( "select {0} from[{1}] where OrderID={2}",column,type.Name,OrderID); using (SqlConnection coon = new SqlConnection(ConnectionStringCustomers)) { SqlCommand sqlcommand = new SqlCommand(sql, coon); coon.Open(); SqlDataReader reder=sqlcommand.ExecuteReader(CommandBehavior.CloseConnection); if (reder.Read()) { foreach (var a in type.GetProperties()) { string aName = a.Name; a.SetValue(t, reder[aName]); Console.WriteLine("shuxing{0},zhi:{1}", a.Name,a.GetValue(t)); } } } return default(T); } } }
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <connectionStrings> <add name="connectionstring" connectionString="Data Source=.;Initial Catalog=books;User ID=sa;Password=123123;Integrated Security=True;Pooling=False" /> </connectionStrings> </configuration>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void Main(string[] args) { Type type=typeof(Class1);//寻找对象 object oobject=Activator.CreateInstance(type);//寻找对象 foreach (var a in type.GetProperties()) { Console.WriteLine("属性名称{0},值是{1}", a.Name, a.GetValue(oobject)); } DBHelper dbhelper = new DBHelper(); dbhelper.QueryDomain<Class1>(); Console.ReadLine(); } } }
数据库实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
class Class1
{
public int OrderID { get; set; }
public string Address { get; set; }
}
}
相关文章推荐
- 利用泛型、反射 读取数据库数据
- 从数据库读取数据后利用反射为对应的实体类的属性赋值
- VA利用反射进行数据库的读取免数据类型转换
- object对象java 利用反射 从数据库取出数据对象list 类似hibernate
- JMeter 参数化之利用JDBC Connection Configuration从数据库读取数据并关联变量
- 利用Python数据可视化工具plotly从数据库读取数据制作本地图表应用实例
- 利用反射机制查询数据库内数据,数据库内数据库类型为类型时
- 利用反射将数据库中的数据两表自动对接实现数据传输
- 转:JMeter 参数化之利用JDBC Connection Configuration从数据库读取数据并关联变量
- 利用SqlDataReader读取大量的数据库数据
- 关于利用opendatasource 读取excel文件中的数据问题以及更新数据库中对应数据的问题
- .NET 利用反射将对象数据添加到数据库
- Java注解(Annotation)用法:利用注解和反射机制指定列名导出数据库数据
- 利用反射机制从数据库中获取数据,提高代码的可修改性
- SSH开发框架中,实现系统启动加载类,读取数据库常用数据进入内存,利用Spring托管,并完成reload功能
- java 利用反射 从数据库取出数据对象list 类似hibernate
- Android利用Spinner从数据库中读取数据并实现2级互动
- 【原创】SSH开发框架中,实现系统启动加载类,读取数据库常用数据进入内存,利用Spring托管,并完成reload功能
- 参数化之利用JDBC从数据库读取数据并关联变量
- 利用反射处理多个表结构相同的数据的查询和数据库表的关联