2

Access データベースを使用する .Net デスクトップ アプリに取り組んでいます。連絡先フォームを使用していて、値のコンボ ボックスに複数の選択肢があるカテゴリ フィールドを変更しようとしています。設定しようとしている値は選択肢のリストにありますが、何もしません。これが私のコードです。何が起こっているのかを明らかにしてください。そのコードは DELETE コマンドで機能しているようです。

        string list = string.Join(", ", f);

        string ConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtDB.Text + "";

        string ComStr = "UPDATE Contacts SET Category = ? where [E-mail Address] in (?)";
        using (OleDbConnection con = new OleDbConnection(ConnStr))
        {
            con.Open();
            using (OleDbCommand com = new OleDbCommand(ComStr, con))
            {
                com.Parameters.AddWithValue("List", list);
                com.Parameters.AddWithValue("Category", "Не получава мейли");
                com.ExecuteNonQuery();
            }
            con.Close();
        } 
4

2 に答える 2

0

私はこれがうまくいくと思います:-

string ComStr = "UPDATE Contacts SET Category = @Category where [E-mail Address] in @List";
            using (OleDbConnection con = new OleDbConnection(ConnStr))
            {
                con.Open();
                using (OleDbCommand com = new OleDbCommand(ComStr, con))
                {

                    com.Parameters.AddWithValue("@Category", "Не получава мейли");
                    com.Parameters.AddWithValue("@List", list);
                    com.ExecuteNonQuery();
                }
                con.Close();
            } 
于 2012-11-19T16:23:47.120 に答える