このコードでは、検索フォームのテキストボックスに指定された値に基づいて、データを検索してDataGridView
にロードできます。テキストボックスを空白のままにしておくと、SQLクエリが「AND」と結合されているため、検索結果は表示されません。データベースで検索中に空のテキストボックスを無視する
(SQLクエリまたはC#コードから)検索中に空のテキストボックスを無視するにはどうすればよいですか?
private void btnSearch_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
String select = "SELECT DocumentNo, Revision, DocumentTitle, DocumentType
FROM DocumentLog
WHERE DocumentNo Like '%" + tbxDocumentNo.Text + "%'
AND Revision Like '%" + tbxRevision.Text + "%'
AND DocumentTitle Like '%" + tbxDocumentTitle.Text + "%'
AND DocumentType '%" + tbxDocumentType.Text + "%'"
AND IsDeleted = '0';
SqlConnection conn = DBConnection.openConnection();
SqlCommand command = new SqlCommand(select, conn);
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(ds, "DocumentLog");
dgvTracking.AutoGenerateColumns = false;
dgvTracking.DataSource = ds.Tables["DocumentLog"];
}
バインド・パラメータを使用してください、あなたのコードは、SQLインジェクション攻撃に対して脆弱です。 – nvoigt
クエリ文字列の外側に 'AND IsDeleted = '0''が表示されるのはなぜですか? – LightBulb