zoukankan
html css js c++ java
《ASP.net组件设计》PowerORM的完整代码
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Reflection;
using
Microsoft.ApplicationBlocks.Data;
using
System.Data.SqlClient;
public
partial
class
PowerORM : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
string
strConnection
=
"
Server=127.0.0.1;User ID=sa;Password=qqww;Persist Security Info=True;DataBase=Northwind;
"
;
string
strSQL
=
"
SELECT [CustomerID], [CompanyName], [ContactName] FROM [Customers]
"
;
IList myList;
using
(SqlDataReader myReader
=
SqlHelper.ExecuteReader(strConnection, CommandType.Text, strSQL))
{
myList
=
myPowerORM.FillHelper.Fill((
new
myPowerORM.Customer()).GetType(), myReader);
}
Response.Write(
"
<pre>
"
);
foreach
(
object
o
in
myList)
{
myPowerORM.Customer c
=
(myPowerORM.Customer)o;
Response.Write(c.CustomerID
+
"
\t
"
+
c.CompanyName
+
"
\t
"
+
c.ContactNameI
+
"
\n<br>
"
);
}
Response.Write(
"
</pre>
"
);
}
}
namespace
myPowerORM
{
public
class
Customer
{
private
string
_customerID, _companyName, _contactName;
[Column(
"
CustomerID
"
)]
public
string
CustomerID
{
get
{
return
_customerID; }
set
{ _customerID
=
value; }
}
[Column(
"
CompanyName
"
)]
public
string
CompanyName
{
get
{
return
_companyName; }
set
{ _companyName
=
value; }
}
[Column(
"
ContactName
"
)]
public
string
ContactNameI
{
get
{
return
_contactName; }
set
{ _contactName
=
value; }
}
public
Customer()
{ }
}
[AttributeUsage(AttributeTargets.Property, Inherited
=
false
, AllowMultiple
=
false
)]
public
class
ColumnAttribute : Attribute
{
private
string
_columnName
=
null
;
public
string
ColumnName
{
get
{
return
_columnName; }
}
public
ColumnAttribute(
string
columnName)
{
_columnName
=
columnName;
}
}
public
class
FillHelper
{
public
static
IList Fill(Type rowType, IDataReader reader)
{
ArrayList dataList
=
new
ArrayList();
while
(reader.Read())
{
object
item
=
Activator.CreateInstance(rowType,
false
);
//
使用与指定参数匹配程度最高的构造函数创建指定类型的实例
foreach
(MemberInfo mi
in
rowType.GetMembers())
{
foreach
(ColumnAttribute attr
in
mi.GetCustomAttributes(
typeof
(ColumnAttribute),
false
))
{
int
index
=
reader.GetOrdinal(attr.ColumnName);
//
在给定列名称的情况下获取列序号
if
(index
!=
-
1
)
{
if
(mi.MemberType
==
MemberTypes.Field)
((FieldInfo)mi).SetValue(item, reader.GetValue(index));
else
if
(mi.MemberType
==
MemberTypes.Property)
((PropertyInfo)mi).SetValue(item, reader.GetValue(index),
null
);
}
}
}
dataList.Add(item);
}
return
dataList;
}
public
FillHelper()
{ }
}
}
查看全文
相关阅读:
mysql--数据库的基本操作(二)
mysql--数据库剧本指令操作
poj_3461 KMP算法解析
POJ_3122 经典二分题
LIS(最长上升子序列)的 DP 与 (贪心+二分) 两种解法
HDU_1059 多重背包问题
HDU-1114 完全背包+恰好装满问题
HDU _2546 01背包问题
POJ-1611 并查集
HDU——Monkey and Banana 动态规划
原文地址:https://www.cnblogs.com/goodspeed/p/191141.html
最新文章
汕头市队赛 SRM 08 C
汕头市队赛 SRM 08 A
货运车辆视频监管及预警系统是否有强制安装的必要?
【解决方案】视频监控中教培机构如何通过将闲时设备录像转存入云的方式用有限带宽承载无限需求?
人脸识别视频智能安防系统EasyCVR v1.1.12开启定时快照导致视频按需播放时画面卡顿的优化
【解决方案】城市道路如何管控渣土车?EasyCVR助力搭建渣土车运输联网监控系统
人脸识别视频智能安防系统EasyCVR视频播放接入第三方平台播放一段时间崩溃原因分析
人脸识别视频智能安防系统EasyCVR视频播放接入第三方平台播放一段时间崩溃原因分析
【解决方案】RTSP/RTMP/GB28181协议EasyCVR安防视频云服务智慧工地解决方案
人脸识别视频智能安防系统EasyCVR新增的录像管理功能如何使用?
热门文章
视频智能分析平台EasyCVR衍生版视频管理平台EasyCVS设备录像时间获取异常如何修复?
视频智能分析平台EasyCVR衍生版视频管理平台选择设备录像时间后不生效问题优化
mysql-视图,触发器,事物,函数,存储过程
mysql-备份操作
数据库-索引
数据库--多表查询题目集
mysql--5
mysql--基本操作多表查询
mysql-单标查询
数据库基本操作4
Copyright © 2011-2022 走看看