小编Dar*_*orf的帖子

从字符串列中提取整数值和附加文本

我正在将 BDE 查询(Paradox)转换为 Firebird(2.5,而不是 3.x),并且其中有一个非常方便的转换:

select TRIM('      1') as order1, CAST('      1' AS INTEGER) AS order2    --> 1
select TRIM('  1 bis') as order1, CAST('  1 bis' AS INTEGER) AS order2    --> 1
Run Code Online (Sandbox Code Playgroud)

然后按转换值排序,然后修剪值(ORDER order2,order1)为我提供我需要的结果:

1
1 bis
2 ter
100
101 bis
Run Code Online (Sandbox Code Playgroud)

然而,在 Firebird 中,转换错误的整数会引发异常,并且我没有找到任何方法来提供相同的结果。我想我可以判断一个数字是否存在,如下所示,但我找不到提取它的方法。

TRIM('    1 bis') similar to '[ [:ALPHA:]]*[[:DIGIT:]]+[ [:ALPHA:]]*' 
Run Code Online (Sandbox Code Playgroud)

[编辑]

我必须处理文本在数字之前的情况,因此使用@Arioch'The 的触发器,我运行得很好:

SET TERM ^ ;
CREATE TRIGGER SET_MYTABLE_INTVALUE FOR MYTABLE ACTIVE
BEFORE UPDATE OR INSERT POSITION 0
AS 
DECLARE I INTEGER;
DECLARE S VARCHAR(13); …
Run Code Online (Sandbox Code Playgroud)

firebird firebird2.5

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

Delphi XE2中的IntraWeb 12的数据库,会话和持久性

我正在使用IntraWeb应用程序搜索有关数据库连接的信息(在我的案例中为Firebird).

我特别需要知道在带有LockDataModule函数的TDataModule上使用数据库或使用UserSessionUnit上的数据库所涉及的差异.例如,如果没有用户使用服务器,我需要将数据库完全断开连接,并且最多连接30个用户.

我可能最糟糕的是必须连接到一些旧的paradox数据库,我需要一个可以处理它的结构(我知道我必须生成一个基于WebApplication.AppID来处理会话的文件夹).最糟糕的是......

提前感谢您提供给我的任何信息或有用链接^^

delphi session intraweb delphi-xe2

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

编译/构建时,*.rc中的文件不会刷新

我有一个文件需要每天刷新,这样链接到一个rc文件:

docs.rc

  file RCDATA "C:\folder\myfile.ext"
Run Code Online (Sandbox Code Playgroud)

我知道如果只在我的*.rc文件中进行更改,它会刷新资源本身.我发现确保资源刷新的唯一方法是删除它,编译,重新设置并再次编译.

任何建议,预编译命令或更好的东西?

谢谢 !

使用Delphi XE2 Enterprise.

[编辑]

当然我从项目代码中忘记了这一行:

{$R 'docs.res' 'docs.rc'}
Run Code Online (Sandbox Code Playgroud)

delphi rc

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

按包含数字和字母的字段排序

我需要从Delphi XE2下的现有Padadox数据库中提取数据(是的,我超过10年将它们分开......).

我需要根据包含以下值的字段(示例中的id)对结果进行排序:'1','2 a','100','1b','50 bis'...并得到:

- 1
- 1 b
- 2 a
- 50 bis
- 100
Run Code Online (Sandbox Code Playgroud)

也许这样的事情可以做到,但那些关键字不存在:

SELECT id, TRIM(TRIM(ALPHA FROM id)) as generated, TRIM(TRIM(NUMBER FROM id)) as generatedbis, etc
FROM "my.db"
WHERE ...
ORDER BY generated, generatedbis
Run Code Online (Sandbox Code Playgroud)

我怎么能用矛盾实现这样的排序......?

sql delphi paradox delphi-xe2

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

标签 统计

delphi ×3

delphi-xe2 ×2

firebird ×1

firebird2.5 ×1

intraweb ×1

paradox ×1

rc ×1

session ×1

sql ×1