循环数据库结果有多行

时间:2011-12-02 19:21:23

标签: c# database ms-access select

我正在开发一个新项目。它使用访问数据库,并在此前的帮助下,我能够搜索多行。麻烦的是,搜索只检查数据库中的最后一个字段是否匹配。我想我需要为每一行使用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");
    }
}

1 个答案:

答案 0 :(得分:0)

一种方法是使用读者对象。以下是一些很好的链接:

但无论您最初的问题如何,在使用它之前,您绝对需要初始化任何数组(甚至要获得“长度”)。