SQL Datareader返回值

时间:2013-04-05 08:31:28

标签: c# sql datareader

我想返回我的数据库值,在这种情况下:我的浏览器的历史记录来自SQL

我有什么:

// 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
{
}

1 个答案:

答案 0 :(得分:0)

这很简单。

让你的函数返回RecordInfo,如下所示:

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

   return RecordsInfo;
}

您需要调整调用方法的代码

var x = df.lezen(tabel);