2013-04-05 58 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; 
} 
  • while循環的工作,但我不知道如何返回每個值,而不僅僅是循環的最新值。

我的電話是這樣的:

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在每次迭代中獲得的每個值的循環。你的問題到底是什麼? – 2013-04-05 08:34:40

+0

您將在RecordsInfo集合中擁有您的歷史記錄。在此代碼中沒有任何更改 – Alex 2013-04-05 08:35:22

+0

將您的項目添加到列表中並返回。 – Sajeetharan 2013-04-05 08:43:29

回答

0

這是相當簡單的。

只是讓你的函數返回RecordInfo如下:

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

    return RecordsInfo; 
} 

您需要調整您的代碼調用方法

var x = df.lezen(tabel);