我有我想從數據庫填充列表一個簡單的類:填充列表 - System.InvalidCastException
class Foreman
{
public int ForeBadge { get; set; }
public string ForeName { get; set; }
}
繼承人我的方法應該返回工頭對象的列表:
static public List<Foreman> getForeman()
{
connectionString.DataSource = "server";
connectionString.InitialCatalog = "db";
connectionString.UserID = "tunnelld";
connectionString.Password = "pw";
string queryString = "SELECT * FROM [QTRAXAdmin].[vwQT_Foreman]";
List<Foreman> list;
// Creates a SQL connection
using (var connection = new SqlConnection(connectionString.ToString()))
{
using (var command = new SqlCommand(queryString, connection))
{
connection.Open();
using (var reader = command.ExecuteReader())
{
list = new List<Foreman>();
while (reader.Read())
list.Add(new Foreman { ForeBadge = reader.GetInt32(0), ForeName = reader.GetString(1) });
}
}
connection.Close();
return list;
}
的方法與示數出在list.Add(new Foreman { ForeBadge = reader.GetInt32(0), ForeName = reader.GetString(1) });
:「」類型的未處理的異常出現在system.data.dll
對我來說,它看起來像我使用正確的變量類型。我究竟做錯了什麼?
哪些列vwQT_Foreman了?看起來結果中的第一列不是int – vmg
@Vitaliy,你說得對。出於某種原因,視圖將主鍵作爲varchar返回...... –
什麼是列的數據類型 - 更好地使用它們的名稱而不是索引 – Cadburry