C#遍历记录

时间:2010-11-09 13:39:40

标签: c# ado.net

我现在在C#中使用MS SQL 2005建立了连接,当我单击一个按钮时,我想要显示第一行,再次单击时,在文本框中显示下一条记录。

这将是循环的一部分,但如何?

private void button1_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection("Data Source=SERVER1\\SQLEXPRESS;Initial Catalog=try;Integrated Security=True;Pooling=False");
        SqlDataReader rdr = null;

        try
        {
            conn.Open();
            // 3. Pass the connection to a command object
            MessageBox.Show("connection opened");
            SqlCommand cmd = new SqlCommand("select * from trytb", conn);
            // 4. Use the connection
            // get query results
            rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                //rdr.Read();
                MessageBox.Show(rdr[0].ToString() + rdr[1].ToString());
                //textBox1.Text = rdr[0].ToString();
                // textBox2.Text = rdr[1].ToString();
            }
        }
        catch (Exception ex) { MessageBox.Show(ex.Message); }
        finally
        {
            // close the reader
            if (rdr != null)
            {
                MessageBox.Show("reader closing");
                rdr.Close();
            }

            // 5. Close the connection
            if (conn != null)
            {
                MessageBox.Show("connection closing");
                conn.Close();
            }
        }
    }

没有任何错误我只想点击我在文本字段中提供下一条记录的按钮功能

1 个答案:

答案 0 :(得分:1)

别忘了投票。 正确的方法是基于DB中的表是固定的。 为了避免每次单击它时都要查询数据库,最好使用SqlDataAdapter并获取所有表,然后在单击时运行表eack时间。 (不要忘记保留一个全局变量来计算当前行。 更重要的是 - 在任何一次性课程上使用Using以确保处置和捕获预期。 样品:

Using(SqlConnection con=new SqlConnection(connectionString)){}