从Oracle的所有行读取数据并使用C#在文本框中显示

时间:2016-03-22 09:01:44

标签: c# oracle

我有这样的Oracle数据:

enter image description here

该表名为 KETERANGAN ,我想在textBox1中使用这些数据。不只是一行而是所有行。我的代码使用 OracleDataReader

OracleCommand cmd = new OracleCommand();
OracleDataReader dr;
cmd.CommandText = @"SELECT NOTES FROM KETERANGAN";
cmd.Connection = koneksidb.con;
dr = cmd.ExecuteReader();
while (dr.Read())
{
    textBox1.Text = dr["NOTES"].toString();
}
dr.Close();

我得到:你很酷

我想要:你很酷,很棒,很棒

4 个答案:

答案 0 :(得分:2)

使用+=代替=,它会附加结果。你正在替换它。

OracleCommand cmd = new OracleCommand();
OracleDataReader dr;
cmd.CommandText = @"SELECT NOTES FROM KETERANGAN";
cmd.Connection = koneksidb.con;
dr = cmd.ExecuteReader();
while (dr.Read())
{
    textBox1.Text += dr["NOTES"].toString() + ",";
}
dr.Close();

答案 1 :(得分:1)

或者您可以将文本框中的Multiline属性设置为true并使用

textBox1.Lines.Add(dr["NOTES"].toString());

答案 2 :(得分:1)

可以这样做:

var abc=(from st in Context.STopics 
where  (x!="All" ? (st.IsActive==true && st.StudentID == 123) )
select new result()
{
   name = st.name 
}).ToList();

希望,例程中的注释足以解释代码。

答案 3 :(得分:1)

安全优化的解决方案......

var notesBuilder = new StringBuilder();

const string SQL = @"SELECT NOTES FROM KETERANGAN";
using (var cmd = new OracleCommand(SQL, koneksidb.con))
{
  using (OracleDataReader dr = cmd.ExecuteReader())
  {
    while (dr.Read())
    {
      notesBuilder.Append(dr["NOTES"]);
      notesBuilder.AppendLine(",");
    }
  }
}

textBox1.Text = notesBuilder.ToString();