求方法 SqlDataRead读到dr的数据 保存到 DataSet

mabuchi 2006-04-06 05:23:57
求方法 SqlDataRead读到dr的数据 保存到 DataSet
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
quou2002 2006-04-07
  • 打赏
  • 举报
回复
跟上时代吧。。。Ado.net2.0新特性:
In ADO.NET 2.0, you can load DataReader directly into DataSet or DataTable. Similarly you can get DataReader back from DataSet or DataTable. DataTable is now having most of the methods of DataSet. For example, WriteXML or ReadXML methods are now available in DataTable also. A new method "Load" is available in DataSet and DataTable, using which you can load DataReader into DataSet/DataTable. In other way, DataSet and DataTable is having method named "getDataReader" which will return DataReader back from DataTable/DataSet. Even you can transfer between DataTable and DataView. Check out the following example:

Dim dr As SqlDataReader
Dim conn As New SqlConnection(Conn_str)
conn.Open()
Dim sqlc As New SqlCommand("Select * from Orders", conn)
dr = sqlc.ExecuteReader(CommandBehavior.CloseConnection)
Dim dt As New DataTable("Orders")
dt.Load(dr)



==== 我的邮箱:quou2002@tom.com
~~~~ 我的Blog:http://blog.csdn.net/quou2002
iuhxq 2006-04-07
  • 打赏
  • 举报
回复
同意直接填充
bingbingcha 2006-04-07
  • 打赏
  • 举报
回复
搞不懂既然是需要DataTable,为什么要用SqlDataReader 取得数据再填充呢?
用time_is_life(今夜太冷) 的办法吧.

public void ReadMyData(string myConnString) {
string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders";
SqlConnection myConnection = new SqlConnection(myConnString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
myConnection.Open();
SqlDataReader myReader;
myReader = myCommand.ExecuteReader();
// Always call Read before accessing data.
while (myReader.Read()) {
Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
//=============== 再那里循环添加数据到DataTable =============
// 代码自己写
}
// always call Close when done reading.
myReader.Close();
// Close the connection when done with it.
myConnection.Close();
}
mabuchi 2006-04-07
  • 打赏
  • 举报
回复
求SqlDataReader到DataTable然后添加入DataSet的全部代码
yiyan625 2006-04-06
  • 打赏
  • 举报
回复
直接定义SqlDataAdapter用fill方法填充DataSet就可以。
SqlConnection con = new SqlConnection("连接字符串");
SqlDataAdapter sda = new SqlDataAdapter("SQL查询语句",con);
DataSet ds = new DataSet();
sda.Fill(ds,"表名");

如果一定要用SqlDataReader去填充DataSet那就只能自定义DataTable然后添加入DataSet

time_is_life 2006-04-06
  • 打赏
  • 举报
回复
public void ReadMyData(string myConnString) {
string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders";
SqlConnection myConnection = new SqlConnection(myConnString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
myConnection.Open();
SqlDataReader myReader;
myReader = myCommand.ExecuteReader();
// Always call Read before accessing data.
while (myReader.Read()) {
Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
}
// always call Close when done reading.
myReader.Close();
// Close the connection when done with it.
myConnection.Close();
}

循环填入DataSet即可

62,253

社区成员

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

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

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

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