IBDatabase.SQLdialect:=<font color="red"><strong>3<strong><

  • 主题发起人 主题发起人 zl
  • 开始时间 开始时间
Z

zl

Unregistered / Unconfirmed
GUEST, unregistred user!
IBDatabase.SQLdialect:=<font color="red"><strong>3<strong></font></marquee>就行了, 感谢左大侠,感谢true64 (50分)<br /> 我原先用的是paradox,现在正在学习Interbase,所以还望你多多指点。
有一个问题:
我在用TIBQuery进行查询时,如果表中没有date型字段,刚一切正常。
比如有两张表A和B。其中B表中有Date型字段。
Select * From A 正常。
而 Select * From B 则出现如下的错误:

+-------------------------------------------------------------------------+
| Dynamic SQL Error |
| SQL error code = -804 |
| Data type unknown |
| Client SQL dialect 1 does not support reference to DATE datatype.|
+-------------------------------------------------------------------------+
注:以上的错误只是在我的程序里才出现,在 IBConsole 及 IBaccess 中均正常。
why?我的程序少了什么?



 
你的IBX版本升级到最新了么?
 
左大侠: 4.52 并且是打过补订的(for d5 sp1)
 
左大侠:还有一点很关键,就是我有IBaccess的源码,我的d5也可正常编译。并且以上的SQL
语句在它里面执行没有任何问题。我的程序用的是和它一样的IBX控件
 
你设置一下database dialect看看

我估计是以下说明的原因:
Dialects
InterBase 6 introduces the concept of dialects to allow users
to move ahead with new features that are incompatible with older
versions of InterBase: delimited identifiers, large exact numerics,
and the SQL DATE, TIME, and TIMESTAMP datatypes.

As InterBase moves forward in complying with SQL standards, some
new features and usages are incompatible with older usage. Dialects
assist in this transition. Dialect 1 guarantees compatibility with
older databases and clients. Dialect 3 allows full access to new
features. There is also a dialect 2 available for clients. It is a
diagnostic mode only.

 
>就是我有IBaccess的源码
**_**发一份给我吧: cjcjc@online.sh.cn
 
interbase 6 与 interbase 5 不同, 5 中只有 date 一种类型 在 6 中是 timestamp
date time ,而delphi 的BDE 不支持 6中的date time 但 timestamp 和 5 的date 是
兼容的,建议用ibconsole中建表 用 timestamp,在delphi中用date就没有问题了。
 
我刚才试了一下,true64老弟言之有理!!!!!!!!感谢!!
 
左大侠:如何设置database dialect?

今天老哥们响应的可真快,我乐死了!!!
 
true64:我没有用BDE呀?
 
以IBConsole为例:
连接到database,右击databasename,选中properties
general-database dialect
 
左大侠:可我改为1、或3均不行,2时提示不允许。
 
BDatabase.SQLDialect怎么设的?
 
CJ,去这里:
http://www.ibaccess.org
this tool is free and Opensource with the MPL license model,
if you change the source of this application and you distribute
the binary files you must provide the source for the tool and
the enhaced features. So an enhaced version of this tool must
be also MPL (not comercial and source available).
比IBConsole好用。
这几天正在研究它,没想到这么多人喜欢Interbase:-)

 
解决好了,方法是按左大侠的方法,将IBDatabase.Dialect设为3,就解决了。
感谢左大侠,感谢true64
 
多人接受答案了。
 
后退
顶部