Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用多行循环数据库结果_C#_Database_Ms Access_Select - Fatal编程技术网

C# 使用多行循环数据库结果

C# 使用多行循环数据库结果,c#,database,ms-access,select,C#,Database,Ms Access,Select,我正在做一个新项目。它使用access数据库,在这里的帮助下,以前我可以搜索多行。问题是,搜索只检查数据库中最后一个字段是否匹配。我想我需要为每一行使用一个for循环。我在下面试过这个。然而,我遇到的问题是: 使用未分配的局部变量“returnedRows” 我不知道如何修复它,或者我的代码是否已经接近实现这一点 private void btnSearch_Click(object sender, EventArgs e) { string searchFor = txtSearch.

我正在做一个新项目。它使用access数据库,在这里的帮助下,以前我可以搜索多行。问题是,搜索只检查数据库中最后一个字段是否匹配。我想我需要为每一行使用一个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");
    }
}
private void btnSearch\u单击(对象发送者,事件参数e)
{
字符串searchFor=txtSearch.Text;
int结果=0;
DataRow[]returnedRows;
结果=返回的行程。长度;
如果(结果>0)
{
对于(int i=0;i
一种方法是使用读卡器对象。以下是一些好的链接:


但是,不管您最初的问题是什么,在使用任何数组之前,您都绝对需要初始化它(甚至要获得“长度”)。

哪里是
returnedRows
初始化的?您的SQL查询在哪里?您从来没有实际将任何内容分配给“returnedRows”。您必须对数据库执行某种类型的查询,并将结果放入该变量中。实际上,该值为“null”,您无法获取null值的长度。您没有填充集合中的任何内容。我看不到从数据库中获取行的位置?为returnedRows分配了什么?在c#中,您总是需要初始化。我认为您发布的代码中遗漏了一些内容,请您发布完整的代码好吗?对不起。我完全不知所措。如果有帮助的话,这就是我的代码构建的基础,可能有助于解释其中的一些内容。建议:剪切/粘贴我给你的一个示例,然后尝试一下。