2013-04-05 1 views
0

Я хочу вернуть свои значения из базы данных, в данном случае: история моего браузера от SQLSQL DataReader Возвращаемые значения

Что у меня есть:

// lezen van records 
public void lezen(string tabelNaam) 
{ 
    // parameters aanmaken en opvullen 
    SqlParameter Para1 = new SqlParameter(); 
    Para1.ParameterName = "@tabelNaam"; 
    Para1.Value = tabelNaam; 
    // maken van een sql verbinding 
    SqlConnection Conn = new SqlConnection(); 
    Conn.ConnectionString = @"Integrated security=true; Initial Catalog=OpdrachtW3; Data Source=LAPTOP-ROY\SQLEXPRESS"; 
    Conn.Open(); 
    // Aanmaken van Query 
    SqlCommand Cmd = new SqlCommand(); 
    // Aangeven dat de Query plaatsvind op bovenstaande connectie 
    Cmd.Connection = Conn; 

    Cmd.CommandText = string.Format("select * from [{0}]", tabelNaam); 
    Cmd.Parameters.Add(Para1); 

    SqlDataReader dr = Cmd.ExecuteReader(); 

    List<string> RecordsInfo = new List<string>(); 
    int i = 0; 

    Browser brw = new Browser(); 
    while (dr.Read()) 
    { 
     i++; 
     //int favonr = dr.GetInt32(0); 
     //string websiteUrl = dr.GetString(1); 
     //string websiteNaam = dr.GetString(2); 
     dbRecords = dr.GetString(1); 
     RecordsInfo.Add(dr["websiteUrl"].ToString()); 
     //RecordsInfo = dr.GetString(1).ToString(); 
    } 
    dr.Close(); 
    Conn.Close(); 
    return; 
} 
  • цикл, пока работает, но я не знаю, как вернуть каждое значение, а не только самое последнее значение цикла.

мой вызов выглядит следующим образом:

DatabaseConnection df = new DatabaseConnection(); 
waarde1 = "websiteNaam"; 
waarde2 = "websiteUrl"; 
tabelNaam = "favorieteWebsites"; 
df.lezen(tabelNaam); 
// er zijn items gevonden 
try 
{ 
    if (df.dbRecords != null) 
    { 
     // komt nog niet voor 
     if (!cbFavorieten.Items.Contains(df.RecordsInfo)) 
     { 
      cbFavorieten.Items.Add(Convert.ToString(df.RecordsInfo)); 
     } 
    } 
} 
catch 
{ 
} 
+0

Вы уже получаете значение каждого из DataReader в каждой итерации цикла. Какова ваша проблема? –

+0

У вас будет своя история в коллекции RecordsInfo. В этом коде нечего менять – Alex

+0

Добавьте свои элементы в список и верните его. – Sajeetharan

ответ

0

Это довольно просто.

просто сделать вашу функцию, возвращая RecordInfo следующим образом:

public List<string> lezen(string tabelNaam) 
{ 
    .... 

    return RecordsInfo; 
} 

вам нужно адаптировать свой код, который вызывает метод

var x = df.lezen(tabel);