2013-08-27 31 views
0

你好,我想使用的OleDb连接数据库,但是当我想那我得到异常,当尝试使用的OleDb的帮助下读取数据库中的数据

cmd.Parameters.Add("@name", TextBox1.Text); 
cmd.Parameters.Add("@password", TextBox2.Text); 
cmd.ExecuteNonQuery(); 
System.Data.OleDb.OleDbDataReader rdr = cmd.ExecuteReader(); 
while (rdr.Read()) 
{      
    string istifadeciAd = (string)rdr.GetString(1); 
    string istifadeciParol = (string)rdr.GetString(2); 
} 
后从那里读取数据,并使用read()命令

in String istifadeciAd和istifadeciParol由于IndexoutofRange我得到GetString的错误。但是,我们不需要用列索引调用GetString吗?

+0

显示select语句 – Vasiliy

回答

3

,你需要在你的SELECT语句超过2分选择列获得rdr.GetString(2)

类似下面

select id, istifadeciAd, istifadeciParol from Table1 where name =? and password =?

注意指数从零开始

所以如果您只选择istifadeciAd, istifadeciParol列,则需要将其读取为

string istifadeciAd = rdr.GetString(0); 
string istifadeciParol = rdr.GetString(1); 

而且你也不需要将结果转换为string,因为它返回string

我想你需要改变参数添加代码为好,

cmd.Parameters.AddWithValue("@name", TextBox1.Text); 
cmd.Parameters.AddWithValue("@password", TextBox2.Text); 
相关问题