C# 使用多行循环数据库结果
我正在做一个新项目。它使用access数据库,在这里的帮助下,以前我可以搜索多行。问题是,搜索只检查数据库中最后一个字段是否匹配。我想我需要为每一行使用一个for循环。我在下面试过这个。然而,我遇到的问题是: 使用未分配的局部变量“returnedRows” 我不知道如何修复它,或者我的代码是否已经接近实现这一点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.
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#中,您总是需要初始化。我认为您发布的代码中遗漏了一些内容,请您发布完整的代码好吗?对不起。我完全不知所措。如果有帮助的话,这就是我的代码构建的基础,可能有助于解释其中的一些内容。建议:剪切/粘贴我给你的一个示例,然后尝试一下。