目前我的問題是,當我運行代碼時,它顯示了一個數據網格,其名稱爲Forename而不是Forename本身的length
。任何人有任何線索,似乎很愚蠢。DBReader提供字符串的長度而不是字符串
List<string> NameList = new List<string>();
string connectionString = "Server = localhost; Database = TestDb; Trusted_Connection = True;";
try
{
IDbConnection dbcon;
using (dbcon = new SqlConnection(connectionString))
{
dbcon.Open();
using (IDbCommand dbcmd = dbcon.CreateCommand())
{
string sql = "Select * from people";
dbcmd.CommandText = sql;
using (IDataReader reader = dbcmd.ExecuteReader())
{
while (reader.Read())
{
string FirstName = (string) reader["ForeName"];
NameList.Add(FirstName);
}
DataGrid1.ItemsSource = NameList.ToList();
reader.Close();
dbcon.Close();
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
當你調試代碼,假設你正在使用的調試器; 'NameList [0]'的值是什麼也不需要調用'DataGrid1.DataBind()';之前讀者。關閉() – MethodMan
NameList [0] =「沙龍」 – Master
你熟悉'BindingList'還有另一種方法,你可以做到這一點,你可以創建一個類與自動屬性匹配你想要的字段名稱..加載BindingList,然後將DataGrid1.DataSource =分配給該BindingList非常簡單,我一直都在使用它..親自我會重構你的代碼,創建一個存儲過程並將數據返回到DataSet或DataTable中,並以此方式綁定它。你試圖在dataGrid上顯示多少列? – MethodMan