我试图通过两个文本框显示存储在数据库中的信息,这两个文本框会通过读取文本文件自动填充。
我得到第一个textBox
来搜索数据库并在我的gridView
中返回信息。但是我无法显示第二个textBox
来显示信息。
问题在于第二个textBox
必须搜索列名,然后应返回该搜索列中的信息。
这是我第一个textBox
的代码(有效)
private void latestOwnTextBox_TextChanged(object sender, EventArgs e)
{
using (var conn = new SqlConnection())
{
conn.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\OwnersDB.mdf;Integrated Security=True";
conn.Open();
using (var adapter = new SqlDataAdapter("SELECT GetDate() as Event, Owner FROM TBLOwn where Owner like @search", conn))
{
adapter.SelectCommand.Parameters.Add("search", SqlDbType.NVarChar).Value =
"%" + latestOwnTextBox.Text + "%";
adapter.Fill(dataTable);
if (dataTable.Columns.Count > 0)
{
dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns[0] };
}
mainAMSDataGrid.DataSource = dataTable;
mainAMSDataGrid.Visible = true;
mainAMSDataGrid.Sort(this.mainAMSDataGrid.Columns[0], ListSortDirection.Descending);
conn.Close();
}
}
}
这是第二个textBox
的代码(这是我努力搜索该列并在该列中显示信息的地方)
private void inputOwnTextBox_TextChanged(object sender, EventArgs e)
{
using (var conn1 = new SqlConnection())
{
conn1.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\OwnersDB.mdf;Integrated Security=True";
conn1.Open();
using (var adapter1 = new SqlDataAdapter("SELECT * FROM TBLOwn WHERE '%%' like @search1", conn1))
{
adapter1.SelectCommand.Parameters.Add("search1", SqlDbType.NVarChar).Value =
"%" + inputOwnTextBox.Text + "%";
adapter1.Fill(dataTable);
if (dataTable.Columns.Count > 0)
{
dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns[0] };
}
mainAMSDataGrid.DataSource = dataTable;
mainAMSDataGrid.Visible = true;
mainAMSDataGrid.Sort(this.mainAMSDataGrid.Columns[0], ListSortDirection.Descending);
conn1.Close();
}
}
}
然后这应该显示我dataGridView
谢谢