我必須讀取大約100列的sql表格,然後檢查每個單元格以驗證數據是否爲空。使用SQLReader時,它會在第70列拋出一個IndexOutOfBoundsOfArrway異常。任何想法如何讓我達到我的目標? P.S.我在C#這樣sql大數據讀取
這是我的代碼:
conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from tableName where column1='" +
textBox1.Text+"'", conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
for (int i = 3; i < 100; i++)
{
if (reader[i].ToString() != "")
{
listBox2.Items.Add(reader[i].ToString());
}
}
}
編輯:我相信,我的表中有100列,但reader.FieldCount等於70
你確定它確切地是100列嗎?因爲這個錯誤應該表示該列是69(我認爲)。你有沒有檢查Property FieldsColumn,以確切知道DataReader公開的列是否?對於應該是這樣的:for(int i = 0; i
2012-02-28 13:49:57
您還應該考慮閱讀[SqlParameter](http://www.dotnetperls.com/sqlparameter) – Shai 2012-02-28 13:50:28
'if (reader [i] .ToString'...應該是'if(reader [i]!= null' – Kane 2012-02-28 13:51:46