我是用odbc连接mysql ,用bde建虚拟数据库名, 用query连接虚拟用户名。并且,我连接的是mysql数据库。可以正常显示,但不能编辑修改。连接其他类

  • 主题发起人 主题发起人 winder
  • 开始时间 开始时间
W

winder

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用odbc连接mysql ,用bde建虚拟数据库名, 用query连接虚拟用户名。并且,我连接的是mysql数据库。可以正常显示,但不能编辑修改。连接其他类型数据库则没问题。 (50分)<br />我是用odbc连接mysql ,用bde建虚拟数据库名, 用query连接虚拟用户名。并且,我连接的是mysql数据库。可以正常显示,但不能编辑修改。连接其他类型数据库则没问题。
并且在使用query1.edit时,有时,还会出现这是只读数据库,不可编辑的提示。当把query的requestlive设置为true ,并把active设置为true时,会提示错误:
Project ttfun_dpr.exe raised exception class EDBEngineError with message
'General SQL error.
[TCX][MyODBC]You have an error in your SQL syntax near 'id','type','child_type','content' at line 1.Process stopped.Use Step or Run to continue.
在requestlive为false时,则一切正常。
(各类readonly都已设置为false,各个edit属性都已经设置为true。)
 
看错误信息,好像是说SQL语法错误.
MySQL的语法好像不是标准的SQL语法,甚至网上有人说MySQL不是数据库
 
好好看看你的SQL语句吧,从你的错误现象看是SQL语句中在
'id','type','child_type','content' 这几个地方出错了,你仔细检查一下
 
一,你是否是多表查询。如果是,那摸是mysql不支持多表查询出来的结果集修改。
这种修改有很多的限制,而且因数据库的种类不同而千差万别。
在标准的sql用法中,select返回的是只读的结果集,而delphi的query为了方便
拥护提供了修改的功能,但是很少有人使用,因为不安全。劝你不如自己写sql.
限制少,效率高。
 
没错,这个问题我也遇上了
MyODBC驱动
无论是通过ADO还是BDE,数据库都是只读的
谁能解决,再加200大分
 
正准备用MYSQL,我来学学
 
是不是有自增字段之类的?


跟踪一下生成的语句?
 
问题已经解决了,因为我在win2000下装了个win9X的ODBC驱动
换了win nt/2000的驱动后解决了
不过mysql对ado的支持不太好,在recordset.addnew的时候报错

 
后退
顶部