gpt4 book ai didi

c# - 如何从 IDataReader 获取 DataTable?

转载 作者:行者123 更新时间:2023-11-30 14:38:45 27 4
gpt4 key购买 nike

我试图从 IDataReader 获取 DataTableDataSet,但我失败了。这是代码:

string sql = @"SELECT ID, DOCNUMBER FROM TBDOCUMENT";

using (IDbConnection conn = CreateConnection(provider, connectionString))
{
conn.Open();
using (IDbCommand command = conn.CreateCommand())
{
command.CommandText = sql;
IDataReader reader = command.ExecuteReader();

using (reader)
{
while (reader.Read())
{
long key = reader.GetInt64(0);
decimal value = reader.GetDecimal(1);
}
}
}
}

我正在使用 IDbConnectionIDbCommand 因为它适用于三个不同的数据库(方法 CreateConnection(provider, connectionString) 获取根据数据库的特定连接类型)。我的查询获得一个 ID(作为 Int64)和一个 DocNumber(作为 Decimal),但每次我尝试获取十进制值时,它都会抛出一个 OverflowException 并显示一条消息:“Conversion overflows”。这两个值对我都很重要,但我不知道如何获得这些值。

其实,代码我并不是想转换成DataTable,我必须无一异常(exception)地获取两者的值。

有帮助吗?

最佳答案

虽然我没有通过执行来检查,但它应该可以工作......

    // Load the data into the existing DataSet. 
DataTableReader reader = GetReader();
dataSet.Load(reader, LoadOption.OverwriteChanges,
customerTable, productTable);

// Load the data into the DataTable.
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
DataTable dt = new DataTable();
dt.Load(dr);

关于c# - 如何从 IDataReader 获取 DataTable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com