我想将数据库中数据显示到dataGrid中,运行时提示错误信息:
“多步OLEDB操作产生错误。如果可能,请检查每个OLEDB的状态值。没有工作被完成。”
救救我这只菜鸟!Please!
很急呀!!!private void button3_Click(object sender, System.EventArgs e)
{
string strAccessConn=@"
Provider=Microsoft.Jet.OLEDB.4.0;
Integrated Security=SSPI;
Initial Catalog=temporary;
Persist Security Info=False;
Data Source=C:\Documents and Settings\dong\桌面\毕业设计\temporary.mdb";
string strAccessSelect="SELECT Code,Date,Start,End,High,Low,Amount,Money,Area FROM stock";
OleDbConnection myAccessConn =null;
DataSet myDataSet = new DataSet();
try
{
myAccessConn=new OleDbConnection(strAccessConn);
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet,"stock");
this.dataGrid1.DataSource =myDataSet;
this.dataGrid1.DataMember="stock";
}
catch(OleDbException odbe)
{
MessageBox.Show("OleDbException:"+odbe.Message);
}
finally
{
myAccessConn.Close();
}
}
“多步OLEDB操作产生错误。如果可能,请检查每个OLEDB的状态值。没有工作被完成。”
救救我这只菜鸟!Please!
很急呀!!!private void button3_Click(object sender, System.EventArgs e)
{
string strAccessConn=@"
Provider=Microsoft.Jet.OLEDB.4.0;
Integrated Security=SSPI;
Initial Catalog=temporary;
Persist Security Info=False;
Data Source=C:\Documents and Settings\dong\桌面\毕业设计\temporary.mdb";
string strAccessSelect="SELECT Code,Date,Start,End,High,Low,Amount,Money,Area FROM stock";
OleDbConnection myAccessConn =null;
DataSet myDataSet = new DataSet();
try
{
myAccessConn=new OleDbConnection(strAccessConn);
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet,"stock");
this.dataGrid1.DataSource =myDataSet;
this.dataGrid1.DataMember="stock";
}
catch(OleDbException odbe)
{
MessageBox.Show("OleDbException:"+odbe.Message);
}
finally
{
myAccessConn.Close();
}
}
string strAccessSelect="SELECT Code,[Date],Start,[End],High,[Low],Amount,[Money],Area FROM stock";
你的myDataAdapter已经有了连接,是这个语句指定的:OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();//先打开连接。 OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
但我还是不太明白,程序当然是停在断点那行啦,把代码贴出来?贴到哪?
string strAccessConn=@"
Provider=Microsoft.Jet.OLEDB.4.0;
Integrated Security=SSPI;
Initial Catalog=temporary;
Persist Security Info=False;
Data Source=C:\Documents and Settings\dong\桌面\毕业设计\temporary.mdb";
停住后按F5,就显示“多步OLEDB操作产生错误。如果可能,请检查每个OLEDB的状态值。没有工作被完成。”
private void button3_Click(object sender, System.EventArgs e)
{
string strAccessConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\dong\桌面\毕业设计\temporary.mdb"";
string strAccessSelect="SELECT Code,[Date],[Start],[End],[High],[Low],[Amount],Money,Area FROM stock";
OleDbConnection myAccessConn =null;
DataSet myDataSet = new DataSet();
try
{
myAccessConn=new OleDbConnection(strAccessConn);
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet,"stock");
this.dataGrid1.DataSource =myDataSet.Tables[0];
// this.dataGrid1.DataMember="stock";
}
catch(OleDbException odbe)
{
MessageBox.Show("OleDbException:"+odbe.Message);
}
finally
{
myAccessConn.Close();
}
}
再次感谢大家的帮助!!!
错:this.dataGrid1.DataSource =myDataSet;
this.dataGrid1.DataMember="stock";
对:this.dataGrid1.DataSource =myDataSet.Tables[0];
但不知道为什么,大家来指教一下!
2.以下两种写法应该是一样的,不过我更习惯第一种
错:this.dataGrid1.DataSource =myDataSet;
this.dataGrid1.DataMember="stock";
对:this.dataGrid1.DataSource =myDataSet.Tables[0];
3.记得结贴