C#SQL将多个查询结果放入不同的文本框中

时间:2014-10-04 21:28:48

标签: c# sql sql-server

所以我有这个:

            Conn.Open();
            SqlCommand Comm3 = new SqlCommand("SELECT answer" + " FROM answers" + " WHERE id_answer=5" , Conn);
            SqlDataReader DR3 = Comm3.ExecuteReader();

并且有多个结果,我现在如何在不同的文本框中移动它们(我已经创建了文本框?到目前为止我只能设法得到相同的结果。

2 个答案:

答案 0 :(得分:0)

您需要遍历Database表中的每个项目。考虑一个foreach循环,您只需浏览每个项目并按类似方式进行处理。

以下是一个示例,

// Create new SqlDataReader object and read data from the command.
using (SqlDataReader reader = command.ExecuteReader())
{
    // while there is another record present
    while (reader.Read())
    {
        // write the data on to the screen
        textBox.Text = reader[0];
    }
}

这会将读者的第一列(答案)的值添加到textBox。现在确保你正在调用正确的textBox来添加值。

http://www.codeproject.com/Articles/823854/How-to-connect-SQL-Database-to-your-Csharp-program请阅读本文。

答案 1 :(得分:0)

这通常是我怎么做的....

   SqlConnection cn = new SqlConnection("my connection string");
    cn.Open();

    string sql = "select * from table where column = whatever";
    using (SqlCommand cmd = new SqlCommand(sql,cn))
    {
        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            myTextBox1.Text = (string)dr["Column1"];
            myTextBox2.Text = (string)dr["Column2"];
            myTextBox3.Text = (string)dr["Column3"];
        }

        dr.Close();
    }

    cn.Close();

只需确保在循环浏览正确的列名时瞄准正确的列名,然后正确投射。