请问如何实现DataReader数据进入DataRow,谢谢各位高手指点

tw1984 2003-12-16 01:35:02
我想通过DataReader将一行数据放进一个DataRow中,数据库的列名为DataRow的列名,值相对应,该如何做?望高手指点,或者给出代码也行,谢谢
...全文
84 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnlamar 2003-12-16
  • 打赏
  • 举报
回复
没有一个循环就完成的办法吗?
uno 2003-12-16
  • 打赏
  • 举报
回复
第一个for是为表建列

ok

如果你不要列的结构

无所谓啊
cnlamar 2003-12-16
  • 打赏
  • 举报
回复
up
cnlamar 2003-12-16
  • 打赏
  • 举报
回复
两个for,那怎么行呀?效率太低了吧?
uno 2003-12-16
  • 打赏
  • 举报
回复
忘了加table.Rows.Add(row);
uno 2003-12-16
  • 打赏
  • 举报
回复
DataReader r = ...
DataRow row;
DataTable table = new Table();

bool f = r.Read();
int n = r.FieldCount;
if (f)
{
for(int i = 0; i < n; i ++);
{
table.Columns.Add(r.GetName(i), r.GetFieldType(i));
}
do {
row = table.NewRow();
for (int i = 0; i < n; i ++)
{
row[i] = r.GetValue(i);
}
} while (r.Read())
}


没测试过
liuzhonghe 2003-12-16
  • 打赏
  • 举报
回复
这儿有你想要的东西
http://www.dotnetjunkies.com/Tutorial/841522C9-FFBD-4C57-BD48-F62B55057FF3.dcik
cnlamar 2003-12-16
  • 打赏
  • 举报
回复
hbtu2000,值呢?
hbtu2000 2003-12-16
  • 打赏
  • 举报
回复

SqlDataReader theSqlDataReader = ...
DataTable dt = new DataTable();
DataRow dr;


for(int iIndex = 0; iIndex < theSqlDataReader.FieldCount; iIndex ++)
{
ColName=theSqlDataReader.GetName(iIndex);
dt.Columns.Add(new DataColumn(ColName,typeof(string)));
}
cnlamar 2003-12-16
  • 打赏
  • 举报
回复
up
cnlamar 2003-12-16
  • 打赏
  • 举报
回复
自己人,DataRow的列是从数据库中动态建立的!
dekey1000 2003-12-16
  • 打赏
  • 举报
回复
up!
mesir 2003-12-16
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();
DataRow dr;

//向DataTable中添加列
dt.Columns.Add(new DataColumn("code", typeof(string)));
dt.Columns.Add(new DataColumn("name", typeof(string)));
... ...


dt.Rows.Add(dr);
//从SqlDataReader中读取数据,填充DataTable
while (rd.Read())
{
dr = dt.NewRow();

dr[0] = rd["f1"];
dr[1] = rd["f2"];
... ...
dt.Rows.Add(dr);
}
tw1984 2003-12-16
  • 打赏
  • 举报
回复
ArrayList无法做数据绑定的~~

DataReader的效率高,而且如果用数据绑定的话,无法将一个列依次绑定给DataRow,所以只有用DataReader

就算是一个一个的取,也得有个方法, uno(钢盅郭子) 你有什么好办法吗?
myhex 2003-12-16
  • 打赏
  • 举报
回复
不要拘泥于框架,如果你只是想维护一个简单的行列式数据结构,做成ArrayList也可以啊。
momoguagua 2003-12-16
  • 打赏
  • 举报
回复
既然要用到DataRow为什么不用DataSet而用DataReader
uno 2003-12-16
  • 打赏
  • 举报
回复
DataReader有很多方法

最笨的方法就是一个一个value取出来
一个一个值写进去
uno 2003-12-16
  • 打赏
  • 举报
回复
为什么不用DataAdapter写入DataSet或DataTable呢?

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧