-6

我正在尝试转换从 SQL 查询中返回的内容,但出现错误。

SqlCommand myCommand = "Select * from DB", xavierConnection);
SqlDataReader reader = null;
reader = myCommand.ExecuteReader();
while (reader.Read())
{
    _accountNumber = (int)reader["Account Number"];
    _callReportCode = (string)reader["Call Report Code"];
    _GLbalance = (double)reader["Bank Owned Principal Assets"];
}

我应该改变什么才能使演员成功?

4

2 回答 2

1

演员阵容失败的是哪一行?如果它在 int 或 double 上失败,请检查数据库字段是否不可为空。如果是,请尝试分别转换为 (int?) 和 (double?)。

于 2013-04-04T21:14:00.907 回答
1

改变:

_accountNumber = (int)reader["Account Number"];
_callReportCode = (string)reader["Call Report Code"];
_GLbalance = (double)reader["Bank Owned Principal Assets"];

到:

_accountNumber = int.Parse(reader["AccountNumber"].ToString());
_callReportCode = reader["CallReportCode"].ToString());
_GLbalance = double.Parse(reader["BankOwnedPrincipalAssets"].ToString());

请注意,如果来自数据库的任何值是null它们将引发运行时异常。我留给你处理...

于 2013-04-04T21:14:10.560 回答