我有Window窗体和Microsoft Excel作为数据库。我想实现搜索功能。我有1个文本框1 datagridview和1个按钮,我想每当我点击按钮时,应根据文本框中提供的ID在Excel文件中进行搜索,其描述应显示在gridview中。
我正在使用的代码不是动态的,它是静态的。这是否意味着它只显示我在代码中而不是在文本框中提供的数据的描述?
我的代码是
private void srch()
{
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= 'c:\\Product Details.xlsx';Extended Properties='Excel 8.0;HDR=Yes;'";
// double id = Convert.ToDouble(textBox1.Text);
string query = "SELECT * FROM [Sheet1$]";
DataSet excelDataSet = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(query, strConn);
da.Fill(excelDataSet);
dataGridView1.DataSource = excelDataSet.Tables[0];
DataView dv = ((DataTable)dataGridView1.DataSource).DefaultView;
DataView dv_filter = new DataView();
dv_filter.Table = excelDataSet.Tables[0];
dv_filter.RowFilter = "ID = '105'";
dataGridView1.DataSource = dv_filter;
}
不要选择所有工作表而是使用此代码:
query="select * from [Sheet1$] where id='"+textbox1.text+"';
Datatable dt = new DataTale();
选择行后,使用以下代码:
datagridview.DataSource=dt;
希望它有所帮助