private void button1_Click(object sender, EventArgs e) //将数据库里的数据直接显示在datagridview1里面 { SqlConnection conn = new SqlConnection("server=.;database=Cml;user=sa;pwd=123"); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from " + textBox1.Text; conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); //造一个Datatable 是为了给datagridview一个数据源, 数据源有两个一个是泛型集合List<>,另一个则是Datatable DataTable dt = new DataTable(); if(dr.HasRows) { //下面开始往DataTable临时表里存数据(这里是列) for (int i = 0; i < dr.FieldCount; i++) { dt.Columns.Add(dr.GetName(i)); //获取到每一列的名字然后存在columns里面 } ////下面开始添加行 dt.Rows.Clear(); while (dr.Read()) //while循环循环的是每一行的数据,只要数据库里有数据,就会一行一行的读出来,每读一行就执行一次while { DataRow dtrow = dt.NewRow();//造一个新行 for (int i = 0; i < dr.FieldCount; i++)//for循环循环的是确定了某一行后每一列的数据 { dtrow[i] = dr[i]; //i是索引 } dt.Rows.Add(dtrow); //将读出来的每一行都存到dt里面去 } } dataGridView1.DataSource = dt; cmd.Dispose(); conn.Close(); }
时间: 2024-10-26 03:57:18