小编Har*_*riv的帖子

如何在Firebird中优化DELETE .. NOT IN .. SUBQUERY

我有这种删除查询:

DELETE 
FROM SLAVE_TABLE
WHERE ITEM_ID NOT IN (SELECT ITEM_ID FROM MASTER_TABLE)
Run Code Online (Sandbox Code Playgroud)

有没有办法优化这个?

firebird subquery sql-delete

6
推荐指数
1
解决办法
3403
查看次数

在Delphi中使用TOwnedCollection后代

我正在尝试使用集合属性创建自定义组件.但是,如果我在设计时通过单击对象检查器中的"..."按钮尝试打开集合编辑器,则不会发生任何事情.我错过了什么?

这是我的TCollection后代:

  TMyCollection = class(TOwnedCollection)
  private
    function GetItem(Index: Integer): TMyCollectionItem;
    procedure SetItem(Index: Integer; const Value: TMyCollectionItem);
  public
    function Add : TMyCollectionItem;
    property Items[Index: Integer]: TMyCollectionItem read GetItem write SetItem;
  end;
Run Code Online (Sandbox Code Playgroud)

和项目:

 TMyCollectionItem = class(TCollectionItem)
  private
    FValue: integer;
  protected
    function GetDisplayName: string; override;
  public
    procedure Assign(Source: TPersistent); override;
    constructor Create(Collection: TCollection); override;
    destructor Destroy; override;
  published
    property Value : integer read FValue write FValue;
  end;
Run Code Online (Sandbox Code Playgroud)

delphi vcl custom-component townedcollection

5
推荐指数
1
解决办法
4560
查看次数

在Delphi中调试OutputDebugString调用

我在我的应用程序中有一些"流氓"OutputDebugString调用打印出"T",但我无法找到它.

是否有可能以某种方式在OutputDebugString -function上设置断点并查看它的调用位置?

我正在使用Delphi 2009.

delphi debugging breakpoints delphi-2009 outputdebugstring

5
推荐指数
2
解决办法
3375
查看次数

最大矩形算法实现

我正在尝试用Python 实现Dr. Dobbs的最大矩形算法(清单4).它主要起作用,但是一个特定情况会给出错误的结果,我无法弄清楚原因.

这是我的源代码:

from collections import namedtuple

Point = namedtuple('Point', ('X', 'Y'))

#Y      0  1  2      X
arr = [[0, 0, 0, ], #0
       [1, 0, 0, ], #1
       [0, 0, 1, ], #2
       ]

def area(ll, ur):
    if (ll.X < 0) or (ll.Y < 0) or (ur.X < 0) or (ur.Y < 0):
        return 0.
    return ((ur.X - ll.X) + 1) * ((ur.Y - ll.Y) + 1)

def update_cache(a, c, x):
    M = len(a[0])
    N = …
Run Code Online (Sandbox Code Playgroud)

python algorithm

5
推荐指数
1
解决办法
2846
查看次数

Firebird错误消息“由于系统错误导致执行失败,因此无法成功执行后续语句”

在访问Firebird数据库时,我的应用程序有时会产生此类错误:

系统错误导致执行失败,无法成功执行后续语句GDS代码:335544726-SQL代码:-902-错误代码:406'

可能是什么问题呢?有什么办法可以调试吗?

我在Windows 7上运行Firebird 2.5.1。至少使用了带有Python和UIB组件以及Delphi的kinterbasdb。

delphi firebird uib

5
推荐指数
1
解决办法
1万
查看次数

如何在UIB中使用Firebird事务隔离级别?

根据文档,Firebird中有四个事务隔离级别。但是,据我所知,在uib库(TUIBTransaction)中没有明确的隔离级别选择,但是有很多用于事务的选项。我应该如何使用这些?某处有文件吗?

delphi firebird uib

5
推荐指数
1
解决办法
1782
查看次数

Firebird外部表

我试图找到一种方法快速将大量数据加载到数据库中,一个建议使用Firebird外部表,我想了解更多有关此方法,我尝试在线搜索但我没有得到有关的信息这个,我想知道它们是如何工作的?表格必须完全相同吗?如果从多个数据库加载数据怎么办?

sql delphi firebird data-import

5
推荐指数
1
解决办法
4727
查看次数

使用OPC标签提高性能

我正在使用由Phoenix Contact创建的一个名为Think'n'Do的基于PC的自动化软件包.它实时处理,读取输入/控制逻辑/写入输出,所有这些都在最长50ms内完成.我们有一台OPC服务器,每隔10ms从PLC读取/写入标签.将标签写入PLC并读回写入的值有很长的延迟(Think'n'Do(50ms)> OPC服务器(10ms)> PLC(10ms)> OPC服务器(10ms)> Think'n'Do (50ms))这个过程需要6秒才能完成,因为我的数学应该只需要130ms.

任何关于在哪里寻找或为什么可能需要更长时间的想法都会有所帮助.

performance automation opc

4
推荐指数
1
解决办法
8382
查看次数

如何使用Delphi XE2覆盖WSDL中的服务名称?

我正在使用Delphi XE2来创建webservice应用程序.但是我需要根据外部规范定义服务名称.

Delphi默认将"服务"添加到服务名称.有可能覆盖这个吗?

'service'在TWebServEx.GenerateWSDL方法中添加(Soap.WebServExp,第261行).

delphi soap wsdl

4
推荐指数
1
解决办法
510
查看次数

使用Delphi的条形码扫描仪

我正在开发一个POS(宠物项目),我正在考虑添加一个条形码扫描仪来更快地捕获销售.我现在没有扫描仪,想问一些问题,因为我有点卡住了.

在销售屏幕上,我最初的想法是拥有一个TEdit组件,当一个人扫描产品时,它会填充TEdit字符串.现在我遇到的问题是我想要TEdit隐形,这样人就看不到了.但是一旦你做了TEdit隐形,你就无法把注意力放在它上面,所以这个计划就行不通了.

那么有人可以建议我可以用来"捕获"扫描的字符串吗?如何让组件监听并等待扫描仪?我认为扫描仪就像普通的键盘事件,如按钮向下或向上.

delphi point-of-sale barcode-scanner keypreview delphi-xe2

4
推荐指数
2
解决办法
6959
查看次数