2013-04-05 29 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);