关于C#使用反射,利用反射从SQLDataReader中遍历数据,给对象赋值。

关于C#使用反射,利用反射从SQLDataReader中遍历数据,给对象赋值。,第1张

首先连接数据库;(把其中的OleDbConnection换成sql数据库的链接对象SqlConnection )

private static OleDbConnection connection;

public static OleDbConnection Connection

{

get

{

if (connection == null)

{

connection = new OleDbConnection(SystemConfigurationConfigurationManagerConnectionStrings["ConnectionString"]ConnectionString);

connectionOpen();

}

else if (connectionState == SystemDataConnectionStateClosed) //关闭

{

connectionOpen();

}

else if (connectionState == SystemDataConnectionStateBroken) //中断

{

connectionClose();

connectionOpen();

}

return connection;

}

}

然后执行查询语句,返回一个数据集(同样把OleDb的对象换成Sql数据对象):

public static IList<User> GetUsersAll()

{

OleDbConnection connection = DataManagementConnection;

string sql = "select from [user] order by [id] desc";

OleDbCommand cmd = new OleDbCommand(sql, connection);

OleDbDataReader dr = cmdExecuteReader();

IList<User> uList = new List<User>();

while (drRead())

{

User u = new User();

uid = ConvertToInt32(dr["id"]);

uuser_address = dr["user_address"]ToString();

uuser_city = dr["user_city"]ToString();

uuser_company = dr["user_company"]ToString();

uuser_contact = dr["user_contact"]ToString();

uuser_country = dr["user_country"]ToString();

uuser_email = dr["user_email"]ToString();

uuser_fax = dr["user_fax"]ToString();

uuser_name = dr["user_name"]ToString();

uuser_note = dr["user_note"]ToString();

uuser_ok =ConvertToBoolean( dr["user_ok"]);

uuser_pass = dr["user_pass"]ToString();

uuser_state = dr["user_state"]ToString();

uuser_tel = dr["user_tel"]ToString();

uuser_time = ConvertToDateTime(dr["user_time"]);

uuser_vip =ConvertToBoolean( dr["user_vip"]);

uuser_web = dr["user_web"]ToString();

uuser_zip = dr["user_zip"]ToString();

uListAdd(u);

}

drClose();

connectionClose();

return uList;

}

最后把集合中数据放到ListBox中

IList<User> uList=GetUsersAll();

foreach( User u in uList)

{

//选择你要显示的数据放在ListBox中

//这里我显示名称uuser_name

ListBox1Itemsadd("名称:"+uuser_name)

}

Java code

//添加泛型,

private List<Stock> stocks = new ArrayList<Stock>();

页面可以使用struts标签或者C标签迭代即可。C标签如下:

<c:forEach var="stock" items="${comm }">

${stockstockNum }

</c:forEach>

Oracle或SQL Server2005以上的版本

row_number排序函数

SQL2000可用,变量赋值

--> --> (Roy)生成测试数据

declare @T table([id] nvarchar(1),[num] int,[type] nvarchar(10))

Insert @T

select N'a',12,N'name' union all

select N'c',21,N'nate' union all

select N'd',25,N'adfa' union all

select N'f',25,N'ssdf' union all

select N'g',58,N'name'

declare @type nvarchar(10),@i int,@s nvarchar(200)

set @type='Name'

select @i=-1,@s=''

Select @i=@i+1,@s=@s+case when type=@type then RTRIM(@i)+' ' else '' end from @T

print @s

(5 row(s) affected)

0 4

aspnet 和 asp ,php 有很大差别,这也要看你访问的是什么数据库 aspnet 用sql2000-2005-2008 的比较多asp php 有很多在用Mysql 总之aspnet 到数据库提取一个表内的多条内容很简单,返回个DataTable 或者泛型 IList<Class> 就可以,然后用 返回对象的Count 查看有几条数据,for 或者foreach循环处理

以上就是关于关于C#使用反射,利用反射从SQLDataReader中遍历数据,给对象赋值。全部的内容,包括:关于C#使用反射,利用反射从SQLDataReader中遍历数据,给对象赋值。、如何获取Ilist集合中的一列值、如何在数据库的查询结果中返回行号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10188282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存