
首先连接数据库;(把其中的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)
}
用datagridview吧
using Systemdatasqldataclient;(纯手写的,没用工具,你自己再整理下)
usint Systemdata;
sqldatareader sdr;//声明读取器
sqlcommand com;//command对象
sqlconnection con=new sql
("server=;databse=你的数据库名字",uid=你登录数据库的用户名,pwd=数据库密码);//连接字符串
datagridview//取名dgvDateTimeInfo
//读数据库里的数据 窗体加载事件里写
//sql 语句
string sql="select 你要的字段名 from 字段所在的表名";
com=new sqlcommand(sql,con);
conopen();
sdr=comsqldatareader();
while(sdrread())
{
datatime datagridview中数据对应列的名=sdr["数据所在的列名"]//注意数据类型,其它的列也是这样读取
}
sdrclose();
conclose();
//然后在datagridview中找到DataPropertyName指定数据所在数据库中的列名实现数据的绑定
//双击显示数据详细信息
//不知道你数据库中的标识列是什么,什么类型的,现在就以INT类型为例
int no=converttoint32(dgvDateTimeInfoselectrow[0]cells["标识列名"]value);
string sql="select from 表名 where 标识列名=no";
//接下来的和前面的一样,只是列多了一些
com=new sqlcommand(sql,con);
conopen();
sdr=comsqldatareader();
while(sdrread())
{
接收数据的控件的text属性=(记的数据的转换)sdr["数据所在的列名"]//注意数据类型,其它的列也是这样读取
}
sdrclose();
conclose();
//如果用3层面向对象的思维来做会很简单
有多个就循环读取
假设读取到list中:
List<string> list=new List<string>();for (int i = 0; i < readerFiledCount; i++)
{
listAdd(reader[i]ToString());
}
如果你知道有两个,可以直接写:
string str1 = reader[0]ToString();string str2 = reader[1]ToString();
以上就是关于关于C#使用反射,利用反射从SQLDataReader中遍历数据,给对象赋值。全部的内容,包括:关于C#使用反射,利用反射从SQLDataReader中遍历数据,给对象赋值。、c#中,从数据库读取内容,然后在修改部分内容的代码、c#,我用sqlDataReader获取了sql语句查询出的字符串(有两个),怎么读取这两个字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)