使用VS2010和SQLEXPRESS处理小型项目。
我的下表包含我输入的一些数据:
执行此操作时:
using (SqlConnection conn = new SqlConnection(connString)) {
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM ACCOUNTS", conn);
using (SqlDataReader reader = cmd.ExecuteReader()) {
while (reader.Read()) {
accountList.Add(new Account((int)reader["id"], (float)reader["number"], (AccountType)reader["type"], (string)reader["name"], (float)reader["balance"], (float)reader["maxdebit"], (int)reader["userId"]));
}//Not tested
} // Dispose Reader
//do something here
} // Dispose implicitly called
调试器显示以下内容:
出于某种原因,他只得到前4列。我以前从未见过这种行为,并且获得它的代码似乎很好。有人为我找到任何线索吗?
编辑:问题解决了。问题原来是InvalidCastingException。由于某些原因。事实证明,只有4个数组项目出现的问题并不是真正的问题。 FieldCount变量指示了7个字段,这正是表中的内容。所以这些都被取回了。
我的表数据如下所示:
Ik0Ap.png(添加imgur plz ...没有图像,只有10个声望点时只有2个超链接。我编辑显示这已经解决了所以我提交了......所以我有这个问题)
10分以下最多2个超链接......
它清楚地说“浮动”,所以我做了一个浮动的演员。但根据VS调试器,它是双倍的。所以演员无效。 叹息
这是主要问题。为什么只显示4个阵列对我来说仍然是一个谜......也许VS2010设置可以防止数千个对象的数组被打印到调试器?
答案 0 :(得分:0)
尝试明确指定列,如:
SELECT id, name, number, type, balance, ... etc.