我正在开发一个新项目。它使用访问数据库,并在此前的帮助下,我能够搜索多行。麻烦的是,搜索只检查数据库中的最后一个字段是否匹配。我想我需要为每一行使用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");
}
}
答案 0 :(得分:0)
一种方法是使用读者对象。以下是一些很好的链接:
http://msdn.microsoft.com/en-us/library/haa3afyz%28v=vs.71%29.aspx
http://www.java2s.com/Code/CSharp/Database-ADO.net/UseADataReader.htm
但无论您最初的问题如何,在使用它之前,您绝对需要初始化任何数组(甚至要获得“长度”)。