一个BCB 6.0中关于ADOQuery控件的问题
我首先新建一个三个窗体,Form1、Form2、Form3,Form1上添加了一个DBGrid1组件,一个ADOQuery1,一个ADOConnection1,DataSource1组件和一个Button,将DBGrid与数据库连接起来(具体怎么连,大家估计都知道),程序运行后只显示Form1,点击Button会显示Form3。
Form3上添加一个DBGrid,一个ADOQuery3,一个DataSource,一个Button,将DBGrid与数据库连接起来,该ADOQuery连接到Form1上的ADOConnection1;点击Button会显示Form2。
Form2上添加了2个Button,为Button1和Button2.。Button1的事件是:
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Form1->ADOQuery1->Close();
Form1->ADOQuery1->SQL->Clear();
Form1->ADOQuery1->SQL->Add("select * from xuzhou");
Form1->ADOQuery1->Open(); //就是通过该按钮来执行Form1中的ADOQuery1中的SQL语句,结果显示在Form1上DBGrid1中
Close();
}点击之后该事件可以成功执行,Form1上DBGrid1显示正确的结果。
Button2的事件:
void __fastcall TForm2::Button2Click(TObject *Sender)
{
Form3->ADOQuery3->Close();
Form3->ADOQuery3->SQL->Clear();
Form3->ADOQuery3->SQL->Add("select * from xuzhou");
Form3->ADOQuery3->Open(); //就是通过该按钮来执行Form3中的ADOQuery3中的SQL语句,结果显示在Form3上DBGrid中
Close();
}点击之后该事件会出现问题,出现一个Debugger Exception Notification错误对话框,显示:Access violation at address 00404796 in module 'cxGrid.exe'.Read of address 000002F8
这两个事件可以说是一样的,实现的功能也是一样的,为什么结果是一个对,一个错呢?感谢各位高手帮忙解答一下
[解决办法]
Form3实例没有创建。
[解决办法]