gpt4 book ai didi

c# - 从 OracleDataReader 获取数字

转载 作者:行者123 更新时间:2023-12-01 19:46:11 24 4
gpt4 key购买 nike

我试图从 oracal 数据库中获取数据,其中表的列之一是 NUMBER(4,0)。我如何从 C# 中的数据库中获取此数据类型...

这是我试图编译的示例代码

 ArrayList ListofSaleno = new ArrayList();
OleDbConnection con = new OleDbConnection();
con.ConnectionString = "Provider=MSDAORA;Data Source=orcl;Persist Security Info=True;User ID=thara;password=12";
con.Open();
OleDbCommand cmd = new OleDbCommand("select saleno from transaction_file_com01 where selrcd ='"+userID+"'", con);
OleDbDataReader dr = cmd.ExecuteReader();

if (dr.HasRows)
{
while (dr.Read())
{
ListofSaleno.Add(dr.GetInt32(o));//Error line
}
}
dr.Close();
con.Dispose();
return (ListofSaleno);

但它抛出一个错误..System.InvalidCastException:指定的强制转换无效。

谁能帮帮我???谢谢

最佳答案

首先,您应该正确输入您的列表。而不是ArrayList ,使用List<decimal> .

神谕 number表示为decimal在 C# 中,因此使用:

dr.GetDecimal(0)

根据返回数据的规模和精度,您可能需要(本例中不需要)dr.GetOracleNumber并自己提取值。

关于c# - 从 OracleDataReader 获取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29185863/

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