我正在试图保存一个txt文件,其中包含已付费的人的联系人号码,但我收到了一个错误,指出
"OleDbDataReader dbReader = cmd.ExecuteReader()“
说“标准表达式中的数据类型不匹配”。我认为这是SELECT语句导致问题的原因,在access way中是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();
}发布于 2013-07-10 16:10:35
[Paid]列是非字符串类型,因此尝试删除单引号:
cmd.CommandText = @"SELECT [CellNumber] FROM [Users] WHERE [Paid] = 1";一如既往,在适当的情况下使用参数。
https://stackoverflow.com/questions/17575486
复制相似问题