string SQL = "SELECT * FROM Email ";
string myConnString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + textBox1.Text;
OleDbConnection myConnection = new OleDbConnection(myConnString);
OleDbCommand myCommand = new OleDbCommand(SQL, myConnection);
myConnection.Open();
OleDbDataReader myReader = myCommand.ExecuteReader();
if (myReader.Read())
{
View.Items.Add(myReader.Read());
}
myConnection.Close();
输出 False 。输出应为israel.nahum(来自数据库)
答案 0 :(得分:2)
您需要指定要从中检索文本的列:
string SQL = "SELECT * FROM Email ";
string myConnString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + textBox1.Text;
OleDbConnection myConnection = new OleDbConnection(myConnString);
OleDbCommand myCommand = new OleDbCommand(SQL, myConnection);
myConnection.Open();
OleDbDataReader myReader = myCommand.ExecuteReader();
//Changed if(myReader.Read()) to while(myReader.Read())
while(myReader.Read())
{
View.Items.Add(myReader["NameOfColumnGoesHere"]);
}
myConnection.Close();
答案 1 :(得分:1)
读取让您访问迭代器(将结果的下一项放入其中)使用
if (myReader.Read())
{
View.Items.Add(myReader["COLUMN_NAME"]);
}
然后,如果读者返回了某些内容,那么它将会放入您的项目中。
答案 2 :(得分:0)
请查看MSDN文档中如何使用DataReader对象。 Read正在读取一行,如果有任何可用行,则返回true,您应该使用其他方法从当前行获取值。
另外,请注意,如果您只需要一列,则无需执行SELECT * FROM...
,只需执行SELECT Email FROM ...
...