我有一個主窗體(formMain)在其加載事件中加載用戶控件(分類)。在用戶控件分類的加載事件中,它顯示一個datagridview。讓我給你看看代碼。 分類我的應用程序中的mySQL查詢出了什麼問題?
string serverstring = "user id = root; password=; server=localhost; database=purchase_order; connection timeout=3;";
private void load_data()
{
MySqlConnection con = new MySqlConnection(serverstring);
try
{
string query = "SELECT * FROM tblclassification";
MySqlCommand cmd = new MySqlCommand(query, con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.DataMember = dt.TableName;
}
catch (Exception)
{
}
finally
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
}
幸運的是,它的工作,但是當我點擊位於另一個用戶控制搜索按鈕(搜索)它提出了在主窗體(formMain)事件,其中,它必須在用戶控制過濾器的datagridview (分類),但我的代碼不起作用。 也許我的字符串查詢中有語法錯誤。這是代碼。
主要形式
void SearchClicked(object sender, EventArgs e)
{
Search content = _searchbox;
classification control = new classification();
MySqlConnection con = new MySqlConnection(serverstring);
try
{
string query = "SELECT * FROM tblclassification WHERE class_name LIKE '%@search'";
MySqlCommand cmd = new MySqlCommand(query, con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
//MessageBox.Show(content.txtboxSearch.Text);
cmd.Parameters.AddWithValue("@search", content.txtboxSearch.Text);
DataTable dt = new DataTable();
da.Fill(dt);
control.dataGridView1.DataSource = dt;
control.dataGridView1.DataMember = dt.TableName;
}
catch (Exception)
{
}
finally
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
}
有一個空的catch沒有幫助。 – Habib 2013-05-01 05:23:09
你想查找以搜索文本結尾的class_name嗎? – 2013-05-01 05:25:13
@Habib好的,在Catch中顯示錯誤信息更好嗎? – Harvey 2013-05-01 05:27:59