一、原码如下:
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;
}