我有一个工程,
1)里面有两个窗体 A和B,
2)一个数据模块DM,DM里有一个ADOConnection1,一个ADOQuery1(通过ADOConnection1连接一张表T)
我在A中并未用到DM.ADOQuery1,可是当我在B中用一个新的ADOQuery控件ADOQueryB通过DM.ADOConnection1
连接表T时,却编译不通过,提示“数据异常突起”,我非得把B中的DataSource连接在DM.ADOQuery1上才可以编译执行
我已经在A中用了DM.ADOQuery1.Connection.Close; DM.ADOQuery1.Close; 还是一样的错误!实在百思不得其解!还请各位前辈指点!
谢谢~~
1)里面有两个窗体 A和B,
2)一个数据模块DM,DM里有一个ADOConnection1,一个ADOQuery1(通过ADOConnection1连接一张表T)
我在A中并未用到DM.ADOQuery1,可是当我在B中用一个新的ADOQuery控件ADOQueryB通过DM.ADOConnection1
连接表T时,却编译不通过,提示“数据异常突起”,我非得把B中的DataSource连接在DM.ADOQuery1上才可以编译执行
我已经在A中用了DM.ADOQuery1.Connection.Close; DM.ADOQuery1.Close; 还是一样的错误!实在百思不得其解!还请各位前辈指点!
谢谢~~
解决方案 »
- 祝賀三國升猩猩
- 关于Delphi Listbox组件的一个问题,求教(但愿不是Delphi Bug)
- 属性:ParentShowHint,ShowHint,Hint,HelpType,HelpKeyword,Constraints,大家都详细说说是什么意思好吗
- fastreport怎样做如下报表
- 问几个问题:
- 急救,图片怎样使它随着窗体的改变而改变。
- 在改变窗体大小的时候,如何让windows media player9 自适应窗体大小阿!
- 为什么我SUM的值总是很大??????
- 小问题:如何实现按任意键继续
- 请各位有空进来看看帮我解答这个小问题。:)
- 我想在DBGrid里实现字段的Checkbox功能和下拉功能,请问一下怎么操作.
- 第三个问题是:菜单问题
可能是建立了datamodule以後就不允許在其它窗體中建立數據連接
ADOConnection1的连接语句
以及Adoquery的Sql写法
procedure B.Button1Click(Sender: TObject)
var
AdoQuery1: TAdoQuery;
begin
AdoQuery1 := TADoQuery.Create(Self);
AdoQuery1.Connection := DM.AdoConnection1;
AdoQuery1.SQL.Text := 'select * from tablename';
AdoQuery1.Open;
DataSource1.DataSet := AdoQuery1;
//後面別忘了釋放
end;
不可能有这个限制的。
楼主再找找其它原因
最好设断点
应该是那个事件被循环调用
没有事件重复~
B表中的ADOQueryB的 active 一为true 就出错~~
大家帮我看看~~
等我试试~~
我使用拉!我把DB加如到B中拉!!谢谢~
终于找到错误拉!!
原来我把: Application.CreateForm(TDM, DM);放在了 Application.CreateForm(TB, B); 之后!!但我有点疑惑!
为什么关于A窗口的, Application.CreateForm(TA, A); 我也是放在 Application.CreateForm(TDM, DM); 之后!!为什么A 就对!而B 不对呢!?
我在A中用调用了DM, 再B中没有用到DM啊!?
单步执行:( A中:用DataSourceA调用了DM, B中:也用DataSourceB调用DM, 新的ADOQueryB没有调用DM的ADOCONNECTION1)
Application.CreateForm(TA, A);
Application.CreateForm(TB, B);
Application.CreateForm(TDM, DM);//正确
单步执行:( A中:用DataSourceA调用了DM, B中:也用DataSourceB调用DM, 新的ADOQueryB 有 调用DM的ADOCONNECTION1)
Application.CreateForm(TA, A);
Application.CreateForm(TB, B);
Application.CreateForm(TDM, DM);//错误,提示ADOCONNECTION1连接的错误这是什么原因呢?! 莫非DataSource调用DOQuery不用先创建DM!?困惑!谢谢~各位~
Application.CreateForm(TB, B);这里如果没有adoqueryp这句就可以了Application.CreateForm(TDM, DM);//
以后写程序首先要创建数据模块