我用delphi在ADO方式下连接Mysql数据库,在执行select语句时adoquery组件总是会报错: “未指定的错误”,奇怪的是换了Insert语句却可以成功执行。很郁闷,烦请高手指点,代码如下:procedure TForm1.BitBtn1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from statistic');//该select语句返回未指定错误
//adoquery1.SQL.add('insert into statistic (t_id, calendar, access_count) values(1,"2004-03-02",100)');//insert语句却可以成功插入数据,这是为什么呢??
adoquery1.open;end;--------- ADO 其他组件的属性--------
object ADOConnection1: TADOConnection
Connected = True
ConnectionString =
'Provider=MSDASQL.1;Password=root123;Persist Security Info=True;U' +
'ser ID=root;Data Source=hpjx;Mode=ReadWrite'
LoginPrompt = False
Mode = cmReadWrite
Left = 40
Top = 8
end
object ADOQuery1: TADOQuery
Connection = ADOConnection1
Parameters = <>
Left = 104
Top = 24
end我觉得这会不会是ADO的一个bug呢?我的系统是xp+ delphi7 + mysql-4.0.14b-win + MyODBC-3.51.03。谢谢!
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from statistic');//该select语句返回未指定错误
//adoquery1.SQL.add('insert into statistic (t_id, calendar, access_count) values(1,"2004-03-02",100)');//insert语句却可以成功插入数据,这是为什么呢??
adoquery1.open;end;--------- ADO 其他组件的属性--------
object ADOConnection1: TADOConnection
Connected = True
ConnectionString =
'Provider=MSDASQL.1;Password=root123;Persist Security Info=True;U' +
'ser ID=root;Data Source=hpjx;Mode=ReadWrite'
LoginPrompt = False
Mode = cmReadWrite
Left = 40
Top = 8
end
object ADOQuery1: TADOQuery
Connection = ADOConnection1
Parameters = <>
Left = 104
Top = 24
end我觉得这会不会是ADO的一个bug呢?我的系统是xp+ delphi7 + mysql-4.0.14b-win + MyODBC-3.51.03。谢谢!
解决方案 »
- procedure 与 function 的区别?
- 求一个好用的控件!!!!
- 两个工作,如何去选择?
- 請教一個DBedit簡單問題
- 怎样实现关闭系统
- 控件问题,在线等待!!!!!
- 很菜的问题,有关insert的使用
- 没分的一个问题:在delphi+word2000中有一个range对象,它的若干个属性值均存放在数据表中,能直接绑定它的属性值吗?
- delphi 如何用MediaPlayer播放资源文件中的mp3(或wave)?
- 100分!急急急!请问,在用Formula One时,需要用到F1BOOK。ODBCQUERYEX方法时,如何创建一个F1ODBCQuery对象?最好给出源吗,谢谢!!
- 如何制作具有通过代理服务器功能的软件?
- 大家来帮帮忙
在检查看看有什么地方没设置好。
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from statistic');
adoquery1.open;
adoquery1.SQL.Clear;
adoquery1.SQL.add('insert into statistic (t_id, calendar, access_count) values(1,"2004-03-02",100)');
adoquery1.ExecSql;
出错指示的地方不一定绝对准确,查一查其他地方有没有问题!
这真的是一个bug,而且很可能是由于myodbc的问题。我到www.mysql.com下载了最新的MyODBC-3.51.11-2-win.exe替换了原来的MyODBC-3.51.03.exe,并且下载安装了MDAC2.8.EXE,问题就解决了。
呜呜~~花了偶一整天的时间啊。谢谢各位!还有一个问题:请问delphi7里面带的ado是什么版本的呢?已经是2.8的了吗?
insert 用adoquery1.execute;
我的SQL SERVER 是这样的,呵呵,见笑了!