我用dategridview控件来显示查询的结果,可是不知道怎么把查询到的结果写入到行里面,代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;namespace db
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }        private void button1_Click(object sender, EventArgs e)
        {
            string key = textBox1.Text;
            string username;
            string sex;
            string userid;
            string state;
            string sql = "select * from student where username=key";
            try
            {
                DBhelper.con.Open();
                SqlCommand cmd = new SqlCommand(sql, DBhelper.con);
                SqlDataReader reader = cmd.ExecuteReader();
                DBhelper.con.Close();                while (reader.Read())
                {
                    username = (string)reader[0];
                    sex = (string)reader[1];
                    userid = (string)reader[2];
                    state = (string)reader[3];
                    DataGridViewRow dgv = new DataGridViewRow();
                    dataGridView1.Rows.Add(dgv);
                    dgv.Cells.AddRange(new string[] { username, sex, userid, state });
                   //就是这里,该怎么把查询的结果输出到没一行啊?
                }
                reader.Close();
            }            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                DBhelper.con.Close();
            }
        }
    }
}

解决方案 »

  1.   

    dataGridView1.Rows.Add(dgv); 
    dgv.Cells.AddRange(new string[] { username, sex, userid, state }); 你这两行是不是要换一下顺序啊
      

  2.   

    这是错误提示错误 1 与“System.Windows.Forms.DataGridViewCellCollection.AddRange(params System.Windows.Forms.DataGridViewCell[])”最匹配的重载方法具有一些无效参数 D:\c#编程\formtest\db\db\Form1.cs 42 21 db
    错误 2 参数“1”: 无法从“string[]”转换为“System.Windows.Forms.DataGridViewCell[]” D:\c#编程\formtest\db\db\Form1.cs 42 52 db
      

  3.   

    干嘛这么麻烦呢,直接获得数组或者Dataset绑定啊
      

  4.   

    一句代码就搞定,可以这样:
    this.dataGridView1.DataSource=“查询的Sql语句”;
    手动添加是这样绑定的:
    dataGridView1dr = new dataGridView1();
                dr.CreateCells(dataGridView1);
                int index = dataGridView1.Rows.Count;
                dr.Cells[0].Value = index;   //序号
                  dr.Cells[3].Value = comKnowledge;   
    dataGridView1.Rows.Add(dr);
      

  5.   


    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand =cmd
    DataTable dt=new DataTable();
    adapter.Fill(dt);
    dataGridView1.DataSource=dt;
      

  6.   


    为什么用 datareader 啊?
    像 8 楼 部比你省心多了?
      

  7.   

    dgv.Cells.AddRange(new string[] { username, sex, userid, state }); 
    报错