0

支払った人の連絡先番号を含むtxtファイルを保存しようとしていますが、エラーがあるというエラーが表示されます

"OleDbDataReader dbReader = cmd.ExecuteReader()"

「条件式のデータ型が一致しません」と言っています。問題の原因となっているのは SELECT ステートメントだと思います。アクセス [有料] は Yes/No データ型です。データを選択する正しい方法は何ですか

 try
        {
            string connString = (@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|DB.mdb");
            OleDbConnection conn = new OleDbConnection(connString);
            conn.Open();
            OleDbCommand cmd = conn.CreateCommand();
            cmd.CommandText = @"SELECT [CellNumber] FROM [Users] WHERE [Paid] = '1'";
            OleDbDataReader dbReader = cmd.ExecuteReader();

            StreamWriter sw = new StreamWriter("E:/Contacts.txt");
            while (dbReader.Read())
            {
                sw.WriteLine(cmd.ExecuteScalar().ToString());
            }
            sw.Close();
            dbReader.Close();
            conn.Close();

        }
        catch (OleDbException abc) 
        {
            errorLabel.Text = abc.ToString();
        }
4

1 に答える 1

0

列は[Paid]文字列型ではないため、一重引用符を削除してみてください。

cmd.CommandText = @"SELECT [CellNumber] FROM [Users] WHERE [Paid] = 1";

いつものように、必要に応じてパラメーターを使用してください。

于 2013-07-10T16:10:35.323 に答える