PHP 附加到 ClientDataSet CDS 文件

标签 php database arrays delphi tclientdataset

我有一个空的 Delphi ClientDataSet CDS 文件设置,其中包含我需要的所有列/标题/数据类型。我想使用 PHP 将关联数组附加到 CDS 行中。这可能吗?

数组可以是:

{
    1: {Name:Captain, Phone:18001234567}
    2: {Name:Jack, Phone:18009876543}
    3: {Name:Sparrow, Phone:18887892345}
}

我选择 PHP 是因为我精通这门语言,而且我的网络服务器是共享 Linux 主机。基本上我不能在这里运行 Delphi。我对可以在这种环境中工作的其他选项持开放态度。谢谢!

编辑:

请参阅这篇文章的评论以了解我的解决方案。

最佳答案

我建议您不要直接写入 cds 文件。

相反,您可以为两个应用程序(PHP 和 Delphi)使用一个通用的 xml,并且在 delphi 端,您使用带有 TXmlTransformProvider 的 XML 转换加载和保存它。在 PHP 端,您只需像往常一样将其写入 XML。

看看here关于如何在 Delphi 上设置。

--更新

如果您确实需要直接更改 cds 文件(使用 xml 格式),考虑到 cds 格式是 xml,您可以只向 cds 文件添加一个新文件:

<?xml version="1.0" standalone="yes"?>  
<DATAPACKET Version="2.0">
    <METADATA>
        <FIELDS>
            <FIELD attrname="Name" fieldtype="string" WIDTH="24"/>
            <FIELD attrname="Capital" fieldtype="string" WIDTH="24"/>            
        </FIELDS>
        <PARAMS DEFAULT_ORDER="1" PRIMARY_KEY="1" LCID="2057"/>
    </METADATA>
    <ROWDATA>
        <ROW Name="Argentina" Capital="Buenos Aires"/>
        <ROW Name="Bolivia" Capital="La Paz"/>
        <ROW Name="Brazil" Capital="Brasilia"/>
        <ROW Name="Canada" Capital="Ottawa"/>        
        <ROW Name="United States of America" Capital="Washington"/> 
        //Add your new ROW tag here with your data       
    </ROWDATA>
</DATAPACKET>

关于PHP 附加到 ClientDataSet CDS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825916/

相关文章:

php - 自动发送电子邮件

sql - 有效地更新非常大的 PostgreSQL 数据库表

MySQL Group By 将属性作为列?

python - 如何拆分数组,然后在 0 和第 N 个值之间追加数组,然后在下一组中重复相同的步骤?

Java Sorting : sort an array of objects by property, 对象不允许使用 Comparable

PHP脚本备份数据库

php - 外部 CSS 中的动态数据

javascript - 使用 Ajax 创建 session 并回显结果

mysql - 相似数据的规范化与非规范化数据库

java - 从数组生成变量以创建循环