我试图从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);
Run Code Online (Sandbox Code Playgroud)
但它会抛出错误.. System.InvalidCastException:指定的强制转换无效.
任何人都可以帮助我??? 谢谢
首先,您应该正确键入您的列表.而不是ArrayList,使用List<decimal>.
Oracle 在C#中number表示为decimal,所以使用:
dr.GetDecimal(0)
Run Code Online (Sandbox Code Playgroud)
根据返回的数据的规模和精度,您可能需要(不是在这种情况下)dr.GetOracleNumber并自己提取值.
| 归档时间: |
|
| 查看次数: |
2327 次 |
| 最近记录: |