使用Delphi 2006,我使用的是基于tbudf.pas的用户自定义函数库以及我自己添加的一些函数。由于我正在处理工资单程序,因此该功能对于一些常见的工资单概念非常有用,否则这些概念可能需要一些复杂的SQL。我保留了我的Delphi 2006安装,昨天我发现在Delphi 2010中编译我的udf库需要做一些工作。
虽然我对我的dll和Firebird服务器之间的数据传递方式有所了解,但我主要是使用tbudf中存在的函数来设置自己的函数。不幸的是,没有一个函数使用unicode字符编码。也许这不是什么大不了的事,因为我已经用数据库设置了我的所有Delphi 2010 I / O来使用AnsiStrings,所以也许我可以改变任何Delphi 2010函数来使用像PAnsiChar这样的东西。但我会在这里开辟一条新的道路。
是否有任何已更新到Delphi 2010的开放udf库?如果您有任何需要注意的提示,也许我可以使用它们来更新我自己的库并将其发布给需要它的其他人。
答案 0 :(得分:3)
我用unicode中的firebird数据库移动了整个项目。
关于udfs,如果你想保持数据库的编码,你可以使用AnsiString / PAnsiChar而不是string / PChar。
但是如果你想使用UTF8对数据库进行编码并利用Delphi中的Unicode,你应该使用UTF8String类型。
请注意,数据库连接的编码与数据库本身的编码不同。你还应该注意UTF8中的字符串长度。
要将数据库转换为UTF8,此工具对您有用: http://code.google.com/p/fbclone/