0

c# を使用してデータグリッドのテキスト ボックスからデータを検索する必要があります。私のコードは

          private void button_Search_Click(object sender, EventArgs e)
    {
        sqlcon.Open();
        //DataSet ds15 = new DataSet();

  DataTable dt= new DataTable();                        

 SqlDataAdapter adpt = new SqlDataAdapter("Select ColumName from TableName where Field like '%{0}%'", comboBox_Search.Text); 
  adpt.Fill(dt);//datatable to catch the fields from the database
 dataGridView1.DataSource = dt;

エラー引数の例外が処理されませんでした

コンボボックスから検索したい

4

4 に答える 4

1

SqlDataAdapterのパラメーターに一致するコンストラクターがありません

SqlDataAdapter adpt = new SqlDataAdapter(string.Format("Select ColumName from TableName where Field like '%{0}%'", 
                 comboBox_Search.Text), sqlcon);
于 2013-09-19T05:51:06.160 に答える
1

データベースに対して毎回クエリを実行することは、推奨される方法ではありません。代わりに、BindingSourceオブジェクトを取得して、ソースを 1 回入力します。次に、BindingSource.Filterプロパティを使用して関連する結果セットを取得し、結果セットをグリッドにバインドします。

これこのリンクを見てください。

また、問題を解決するには、次のように試すことができます。

....
sqlcon.Open();
string query  = string.Format("Select ColumName from TableName where Field like '%{0}%'", comboBox_Search.Text);
SqlCommand cm = new SqlCommand(query, sqlcon);
SqlDataAdapter adpt = new SqlDataAdapter(cmd); 
adpt.Fill(dt);//datatable to catch the fields from the database
dataGridView1.DataSource = dt;
....
于 2013-09-19T05:52:43.370 に答える
0

SqlDataAdapter はどのようにして結果を取得するかを知ることができますか?

SqlDataAdapter のコンストラクターを適切に初期化していません。最初の引数は完全な select ステートメントで、2 番目の引数は接続文字列です。

SqlDataAdapter adpt = new SqlDataAdapter(string.Format("Select ColumName from atm_status where Table like '%{0}%'", comboBox_Search.Text), sqlcon);
于 2013-09-19T05:52:01.817 に答える
0
private void txt_Searchque_TextChanged(object sender, EventArgs e)
{
    string connector_string = "datasource = localhost;port=3306;username=root;password=;";
    MySqlConnection sqlcon = new MySqlConnection(connector_string);
    sqlcon.Open();
    string query = string.Format("Select * from oep.quiz where que like '%{0}%'", txt_Searchque.Text);
    MySqlCommand cmd = new MySqlCommand(query, sqlcon);
    MySqlDataAdapter adpt = new MySqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    adpt.Fill(dt);
    dataGridView1.DataSource = dt;
}
于 2017-11-20T08:25:35.007 に答える