【发布时间】:2011-12-27 10:15:51
【问题描述】:
现在我花了几个小时试图解决一些问题并在谷歌上搜索和阅读论坛,但我还没有找到答案!
我需要制作某种“业务应用程序”作为我学校的一个项目,在那里我需要对公司的客户进行全面了解。 我正在使用 Microsoft Visual C# 2010 Express 和 Access 2010,并使用 OleDb 用 C# 编写。
我的问题是:
如何为应用程序创建搜索框/表单以搜索访问数据库 (.accdb) 中的信息。 我想使用一个文本框,从我的数据库中写一些东西,例如公司名称,然后按下搜索按钮。现在它应该写入与公司名称相关的所有信息,这些信息在 DataGrid 的数据库中找到。
也许这是一个太大的项目,所以如果有人有一个不太复杂的搜索功能做类似的事情,我也会很感激。
这是代码,.Fill(dataset, "Food"); 中有错误。 InvalidOperationException 未处理。填充:SelectCommand.Connection 尚未初始化。 只需测试一个简单的访问数据库,其中包含一个名为“Food”的表,其中包含 FoodID、FoodName 和 Price。
private void button1_Click(object sender, RoutedEventArgs e)
{
GetCustomers(textBox1.Text);
}
// Load Data from the DataSet into the DataGridView
private void GetCustomers(string searchTerm)
{
DataSet dataset = new DataSet();
using (OleDbConnection connection =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Niclas\Desktop\Skole\Programmering\Database\Food.accdb;Persist Security Info=False;"))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(
"select * from Food where FoodID like ('" + searchTerm + "', connection");
adapter.Fill(dataset, "Food");
}
// Get the table from the data set and bind the data to the grid
this.dataGrid1 = new System.Windows.Controls.DataGrid();
dataGrid1.DataContext = dataset.Tables[0];
}
}
【问题讨论】:
-
您的问题到底是什么?如何创建搜索框?在表单上放置一个文本框。然后,在搜索按钮下,通过您使用的 OleDB 驱动程序使用 SQL 查询来选择带有 WHERE 子句作为文本框条件的数据。
-
你好..这正是我的问题,但我是新手,所以我会感谢一些编码方面的帮助:) 谢谢。
标签: c# .net database search ms-access-2010