首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Delphi2010或Delphi2009中解决TDatasetProvider中的一个错误(困难的方法)

在Delphi2010或Delphi2009中解决TDatasetProvider中的一个错误(困难的方法)
EN

Stack Overflow用户
提问于 2009-09-02 10:54:40
回答 1查看 1.3K关注 0票数 1

像每年一样,我作为SA所有者收到了一个新的Delphi版本,这就是我所做的:

安装delphi。fields.

  • insert

  • 运行delphi

  • 向Microsoft 2000插入一个TSQLConnection

  • ,该服务器至少还要与我们一起工作六年。

  • 插入一个TSQLQuery,它具有'select top 1* from‘,这是一个带有一些金钱的表--多个组件-- TDatasetProvider、TClientdataset、TDatasource、TClientdataset和TButton.

  • Link everything.

  • Create --一个事件处理程序。<H 117A TClientdataset et1.applyUpdate(0);在button1click.

  • make中,对当前的record.

  • Press进行了一些更改,即button1,并获得了Delphi2005及更高版本提供的相同异常。

  • 更新了MsSQLServer.

的corelab或devArt dbx驱动程序。

现在说真的。几年前,我发现TDatasetprovider正在生成一个非常简单的错误: TFMTBCDField (Delphi中的money字段表示)为Server 2000和以前的版本生成不兼容的insert/update sql命令。问题很简单,dataset提供程序为money字段生成引用的值,这些值对于那些sql服务器是不被接受的。

例如:一个有varchar字段和money字段的表。您可以使用这样的更新:

更新测试集MYMONEYFIELD = '1‘其中MYVARCHARFIELD = 'A’

对于早期版本的SQLServer,您需要使用:

更新测试集MYMONEYFIELD =1其中MYVARCHARFIELD = 'A‘

有人能解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2009-12-29 11:56:54

Borland/CodeGear/Embarcadero对此不以为然,但如果这只是针对您自己的应用程序,则可以追溯到VCL源代码,并对源代码进行必要的更改,以确保生成正确的SQL。您需要在每次获得新版本时或直到它被修复时进行此更改,但它将解决您的问题。

你可以把你的零钱提交给码器,看看他们是否会插上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1366999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档