我使用此代码尝试使应用程序筛选文本框中的文本,但它拒绝这么做,并且错误消息不断弹出。这里是代码:从Microsoft Access数据库筛选搜索数据并在datagridview中筛选c#
using System.Windows.Forms;
using System.Configuration;
using System.Data.OleDb;
namespace TestBarcode
{
public partial class StaffHome : Form
{
private OleDbConnection connection = new OleDbConnection();
public StaffHome()
{
InitializeComponent();
connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Projects\POS\Database\MainDatabase_POS.accdb;Persist Security Info=False;";
}
private void StaffHome_Load(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "select * from InventoryManagement";
command.CommandText = query;
OleDbDataAdapter da = new OleDbDataAdapter(command);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error" + ex);
}
}
try
{
connection = new OleDbConnection();
connection.Open();
OleDbCommand command = new OleDbCommand("Select * from InventoryManagement where ID like '" + textBox1.Text + "%'", connection);
OleDbDataAdapter adp = new OleDbDataAdapter(command);
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView1.DataSource = dt;
}
catch(Exception ex)
{
MessageBox.Show("Error" + ex);
}
有没有办法让这种情况发生?如果是这样,请帮助。谢谢。
编辑:这是错误消息的图像。 Error msg Box
首先:上面的代码似乎不可编译。 (这两种不同的方法?如果是这样请添加相关代码)二。数据表InventoryManagement上的列ID的类型是什么?第三,错误信息究竟是什么?我很抱歉,但如果你不添加这些重要的信息,你的问题属于类别“不清楚你在问什么” – Steve
谢谢你指出这一点。 首先,它是相同的代码,我认为这是因为该程序工作正常,直到我在文本框中插入文本。 其次,还有其他一些栏目,包括: ID,BarcodeID,Price,Quantity。 第三,我编辑了上面的文字并添加了我的错误图像。 再次。感谢您指出了这一点。 –