2011-08-01 37 views
0
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(); 

输出是 .The输出应该israel.nahum(从DB)我如何插入一个字符串从数据库到一个ListBox

回答

1

阅读让你访问迭代器(把下一个它的结果项)使用

if (myReader.Read()) 
{ 
    View.Items.Add(myReader["COLUMN_NAME"]); 
} 

然后,如果读者返回一些东西,那么它会放在你的物品上。

+0

编译器无法识别命令的getString() – Israel

+0

Java的幻觉记忆。编辑。 –

+0

View.Items.Add(myReader [“EMAIL”]); – Israel

0

请在MSDN文档中查看如何使用DataReader对象。 Read读取一行并返回true,如果有任何可用行,则应使用其他方法从当前行获取值。

也,你不需要做SELECT * FROM...如果你只需要一列通知,只是做SELECT Email FROM ...例如...

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(); 

看看the documentation for the OleDbDataReader Class.

+0

现在输出仅显示第一条记录 – Israel

+0

现在输出仅显示第一条记录 – Israel

+0

@Israel,请参阅上面的编辑。调用'myReader.Read()'前进到第一条记录。你想阅读,直到所有的记录被读取,所以你需要使用'while(myReader.Read())'。 –

相关问题