一、原码如下:
private void GetData() //取数据 { try { String cs = "Persist Security Info=false;User id=sa;pwd=;database=school;server=localhost"; SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = cs; mycon.Open(); SqlCommand scmd = new SqlCommand("Select Top 3 id,name from student", mycon); this.DA = new SqlDataAdapter(); DA.SelectCommand = scmd; SqlCommandBuilder mycmdb = new SqlCommandBuilder(DA); this.DT.Clear(); DA.Fill(this.DT); } catch (SqlException e) { MessageBox.Show("查询数据出错:" + e.Message); } } private void binddata() { DataTable dt = this.GetData(); //调试时出错的地方 this.dataGridView1.DataSource = dt; }
private void Form1_Load(object sender, EventArgs e) { this.binddata();
}
二、错误信息提示:
错误 1 :无法将类型“void”隐式转换为“System.Data.DataTable”
三、解决办法:
只需修改 GetData()函数:注意蓝色字
private DataTable GetData() //取数据 { try { String cs = "Persist Security Info=false;User id=sa;pwd=;database=school;server=localhost"; SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = cs; mycon.Open(); SqlCommand scmd = new SqlCommand("Select Top 3 id,name from student", mycon); this.DA = new SqlDataAdapter(); DA.SelectCommand = scmd; SqlCommandBuilder mycmdb = new SqlCommandBuilder(DA); this.DT.Clear(); DA.Fill(this.DT); } catch (SqlException e) { MessageBox.Show("查询数据出错:" + e.Message); } return DT; }
