全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1339
推到 Plurk!
推到 Facebook!

FireBird 和 DBExpress 八字不合?

缺席
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-19 12:47:30 IP:218.17.xxx.xxx 未訂閱
DBExpress很奇怪的是,SQLConnection1选择DriverName是InterBase, 能够连接到 FireBird, 然后在设计期的 SQLDataSet1 的CommandText点开,能看到里面的表,我做了一个表叫"Test"。在设计期选中那个表,CommandText就自动生成了 Select * from Test。到这里一切正常。 然后,把SQLDataSet1.Active:=True ,出错误提示:Table Unkonow Test 用 IBClientDataSet1 ,通过 IBDataBase 来连接,也出现同样的错误。 如果直接拿 InterBase 那套元件,IBDataBase IBTable,能够打开 FireBird 的数据库。
fadichen
初階會員


發表:29
回覆:68
積分:29
註冊:2003-09-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-26 10:14:56 IP:61.230.xxx.xxx 未訂閱
會不會是 Tbale Name 有分大小寫的問題 ? ****阿彌陀佛*****
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-26 11:07:35 IP:219.133.xxx.xxx 未訂閱
引言: 會不會是 Tbale Name 有分大小寫的問題 ? ****阿彌陀佛*****
我已经注意大小写的问题了。那个table name 就是 Test,第一个字母大写。
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-27 16:02:51 IP:61.141.xxx.xxx 未訂閱
实验结果: 在 FireBird 里建立的 Table 的名字是 Test,在 DBExpress 的 SQLDataSet里写的SQL语句是 select * from Test,就会出现找不到这个Table的错误。写成 select * from TEST,也不行。 拿FireBird自己带的Demo Table来打开表,却又没问题。仔细观察,它的所有Table name全是一律大写。 于是建立一个表叫:TEST。然后在 DBExpress里写:select * from TEST,就能打开这个Table了。 所以,它的大小写规则真的是莫名其妙。 另外,它的 Dialect 的几个级别不知道是怎么回事。FireBird 1.5 支持到3,它的DEMO TABLE里有field type 是 Bit Int ,必须是 Dialect 3才能支持。D7的DBExpress打开这样的Table会错误。是不是D7的DBExpress只支持到1?
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-29 11:18:44 IP:218.17.xxx.xxx 未訂閱
引言: 实验结果: 在 FireBird 里建立的 Table 的名字是 Test,在 DBExpress 的 SQLDataSet里写的SQL语句是 select * from Test,就会出现找不到这个Table的错误。写成 select * from TEST,也不行。 拿FireBird自己带的Demo Table来打开表,却又没问题。仔细观察,它的所有Table name全是一律大写。 于是建立一个表叫:TEST。然后在 DBExpress里写:select * from TEST,就能打开这个Table了。 所以,它的大小写规则真的是莫名其妙。 另外,它的 Dialect 的几个级别不知道是怎么回事。FireBird 1.5 支持到3,它的DEMO TABLE里有field type 是 Bit Int ,必须是 Dialect 3才能支持。D7的DBExpress打开这样的Table会错误。是不是D7的DBExpress只支持到1?
关于上述问题,仔细查GOOGLE。大小写的问题,FB说最好是全部大写。如果大小写混合,就要加引号把名字括起来。 D7的DBEXPRESS是支持 Dialect 3的。在SQLConnection.Param的设置里有这么一项。默认是1,改成3就可以了。
系統時間:2024-06-02 1:31:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!