在Delphi2006中,我使用了一个基于tbudf.pas的用户定义函数库和一些我自己添加的函数。因为我正在开发一个工资单程序,所以这个功能对一些常见的工资单概念非常有帮助,否则可能需要一些复杂的SQL。我保留了我的Delphi2006安装,昨天我发现在Delphi2010中编译我的udf库需要一些工作。
虽然我确实对dll和Firebird服务器之间的数据传递工作方式有了一些了解,但我主要只是使用tbudf中现有的函数来设置我自己的函数。不幸的是,这些函数都没有使用unicode字符编码。也许这不是什么大问题,因为我已经将我所有的Delphi2010I/O与数据库设置为使用AnsiStrings,所以也许我可以将Delphi2010中的任何函数更改为使用PAnsiChar之类的函数。但我将在这里开辟一条新的道路。
是否有已更新到Delphi 2010的开放udf库?如果你有任何需要注意的技巧,也许我可以用它们来更新我自己的库,并将其发布给其他需要它的人。
发布于 2010-07-31 05:20:48
我使用unicode格式的firebird数据库移动了整个项目。
关于udfs,如果你想保持数据库的编码不变,你可以使用AnsiString/PAnsiChar代替string/PChar。
但是,如果您希望使用UTF8对数据库进行编码,并利用Delphi中的Unicode,则应该改用UTF8String类型。
请注意,数据库连接的编码与数据库本身的编码不同。您还应该注意UTF8中字符串的长度。
要将数据库转换为UTF8,此工具将非常有用:http://code.google.com/p/fbclone/
https://stackoverflow.com/questions/3373574
复制相似问题