我正在開發一個新項目。它使用訪問數據庫,並在以前的幫助下,我可以搜索多行。麻煩的是,搜索只檢查數據庫中最後一個字段的匹配項。我想我需要爲每一行使用一個for循環。我在下面試過。但是我得到的問題是:在數據庫結果上循環多行
使用未分配的局部變量的「returnedRows」
我不知道如何解決它,如果我的代碼,甚至接近實現這一目標。
private void btnSearch_Click(object sender, EventArgs e)
{
string searchFor = txtSearch.Text;
int results = 0;
DataRow[] returnedRows;
results = returnedRows.Length;
if (results > 0)
{
for (int i = 0; i < results; i++)
{
DataRow dr1;
dr1 = returnedRows[i];
for (int j = 0; j < results; j++)
{
DataRow dr2;
dr2 = returnedRows[j];
returnedRows = ds1.Tables["Laptops"].Select("Memory='" + searchFor + "' and HD='" + searchFor + "'");
}
MessageBox.Show("Maker - " + (dr1[1].ToString() + "\n" + "Model - " + (dr1[2].ToString() + "\n" + "Current Price - £" + (dr1[3].ToString()))));
}
}
else
{
MessageBox.Show("No such item");
}
}
「returnedRows」在哪裏初始化?你的SQL查詢是什麼時候? – Otiel
你從來沒有真正將任何東西分配給「returnedRows」。您必須對數據庫執行某種類型的查詢,並將結果放入此變量中。因爲它的值是「null」,所以你不能得到空值的長度。 – jklemmack
您沒有在您的收藏中填充任何東西。我沒有看到你從數據庫中獲取行的位置? – tsells