我做了一个子窗体Form2,需要在每次该窗口打开时显示数据库表中存有的数据,用DataGrid控件,但打开窗体时dataGrid为灰色,不显示数据库中的数据,是怎么回事??
代码如下:
private void Form2_Load(object sender, System.EventArgs e)
{
Form2 x=new Form2();
if(x.ShowDialog()==DialogResult.OK)
{
RefreshData();
}
} private void RefreshData()
{
string sql="select * from userinfor";
OleDbCommand cmd=new OleDbCommand(sql,this.oleDbConnection1);
OleDbDataAdapter da=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
this.dataGrid1.DataSource=ds.Tables[0];
}
代码如下:
private void Form2_Load(object sender, System.EventArgs e)
{
Form2 x=new Form2();
if(x.ShowDialog()==DialogResult.OK)
{
RefreshData();
}
} private void RefreshData()
{
string sql="select * from userinfor";
OleDbCommand cmd=new OleDbCommand(sql,this.oleDbConnection1);
OleDbDataAdapter da=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
this.dataGrid1.DataSource=ds.Tables[0];
}
this.dataGrid1.DataBind();//加上
error CS0117: “System.Windows.Forms.DataGrid”并不包含对“DataBind”的定义
this.dataGrid1.DataBind();
http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
代码如下:
private void Form2_Load(object sender, System.EventArgs e)
{RefreshData();
}
private void RefreshData()
{
string sql="select * from userinfor";
OleDbCommand cmd=new OleDbCommand(sql,this.oleDbConnection1);
OleDbDataAdapter da=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
this.dataGrid1.DataSource=ds.Tables[0];}调试时在da.Fill(ds)处报错,报错信息为:
未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。
是怎么回事??
this.dataGrid1.DataSource=ds.Tables[0];
最后2句改下看看:
da.Fill(ds,"aaa");
dataGrid1.DataSource=ds;
dataGrid1.DataMember="aaa";或者把绑定的变成一句:
dataGrid1.SetDataBinding(ds,"aaa");