AnyDac aka FireDac不能生成更新查询
我已经使用了Unidac很长时间了,因此决定继续前往FireDac,因为它在继续前进后具有良好的异步方法,我看到我的数据编辑不再有效,这给了我一个错误: [FireDac] [Phys] -330.无法生成更新查询.更新表不确定. 我在这里要做的是我有一个TFDStordProc组件,该组件从数据库中获取所有数据并让我对其进行编辑,而我可以通过Unidac轻松编辑数据而没有任何问题: StoredProc.Edit; StoredProcCreatedID.Value := SomeValue; StoredProc.Post; 且奏效,但是使用AnyDac,我尝试手动指定可更新的可更新,这导致了另一个问题: [firedac] [phys] [odbc] [Microsoft] [SQL Server本地客户端11.0] [SQL Server]无效列名称'createdId'. 我正在使用Microsoft SQL Server 2012 FireD
20 2023-09-26
编程技术问答社区
MSAccess SQL 参数太少。预期的4
我正在使用Delphi XE2和AnyDac和MSACCESS DB. 表'timea'有5个字段: rec_no自动数 应用文本 USER_ID文本 PW文本 评论备忘 此代码在下面抛出了错误.查询在访问查询设计器中工作正常. sql := 'INSERT INTO [timea] (App, User_ID, PW, Comment) VALUES ("zoo", "Bill", "mi7", "Liger");'; adconnection1.ExecSQL(sql); 项目pwb.exe提出了带有消息'[anydac] [phys] [odbc] [Microsoft] [ODBC Microsoft Access驱动程序]的exception类EmsAccessnativeException,太少了.预期4.'. 解决方案 SQL和Delphi都使用单引号作为字符串边界.由于您想在字符串中使用singe Quote ,因此必须使用do
12 2023-09-18
编程技术问答社区
在DB网格中显示MySql TIMEDIFF()。
当我使用命令行时,此查询给了我令人愉悦的结果(它显示了duation,这是时间介绍的内容): mysql> select timediff(end_time_stamp,start_time_stamp) from test_runs; +-------------------------------------------+ | timediff(end_time_stamp,start_time_stamp) | +-------------------------------------------+ | 00:00:07 | | 00:00:11 | | 00:01:23 | +-------------------------------------------+ 3 rows
24 2023-04-14
编程技术问答社区
如何在Firebird 3.0上启用wirecompression?
我与Firebird和Delphi合作,我想通过WirCompression通过Internet实现访问; 但是我无法激活它. 我遵循了本文档中的步骤以获取新参数(我能找到的少数参数之一) 如何使用FireDAC 在我使用的测试中 Windows Server 2012 R2 火鸟:Firebird-3.0.4.33054_0_Win32(32位) 还复制到可执行文件夹. fbclient.dll Zlib1.dll(IDEM服务器和客户端) 使用WireCompression = true创建Firebird.conf. 我在应用程序的Firedac内部给出wirecompression = true. 为什么我无法激活p15:cz压缩? Sending connection info for the example: ================================ Connection definition parameters ======
34 2022-09-26
编程技术问答社区
在Delphi中使用FireDac动态创建和调用存储过程的正确方法是什么?
我对 FireDAC 比较陌生.我希望能够动态地“动态"调用存储过程.到目前为止,我有以下内容: function TForm21.ExecuteStoredProc(aSPName: string; aParams: TADParams): Boolean; var LSP: TADStoredProc; i: Integer; begin LSP := TADStoredProc.Create(nil); try LSP.Connection := ADConnection1; LSP.StoredProcName := aSPName; LSP.Prepare; for i := 0 to aParams.Count - 1 do begin LSP.Params[i].Value := aParams[i].Value; end; LSP.ExecProc; finally LSP.
4942 2022-07-19
编程技术问答社区