如何从字符串值插入到POSTGRESQL表中

oug3syen  于 2022-12-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(147)

我使用了一个带有mac地址字段的表,现在我想创建一个insert语句来插入我编辑的mac地址。
SQL插入:

cInsertL2IfParams    : string = 'INSERT INTO tb_macaddresses(fmacaddr) ' +
                            'VALUES(pMyMACAddress::macaddr)';

因此,

mymacaddr := MainDM.MainSQLQ.Params.CreateParam(TFieldType.ftString,'pMyMACAddress',TParamType.ptInput);
mymacaddr.value := myedit.Text;

"Open" procedure rised exception: EPQDatabaseError... ...string contains NULL (10,null)
SQL State: 23502
...

我尝试在pgAdmin中插入字符串,没有出现任何错误:

INSERT INTO tb_macaddresses(fmacaddr)
VALUES('18:FD:74:7F:73:D3'::macaddr);
nqwrtyyt

nqwrtyyt1#

找到临时变量。我删除了TParam并插入了普通文本。

MainDM.MainSQLQ.SQL.Text := 'INSERT INTO tb_netifl2params(tb_netif_id, tb_netifl2params_mac, tb_netifl2params_adminmac) VALUES(:pL2NetIfID,' + '''' + edL2InterfaceMAC.Text + '''' + ',' + '''' + edL2AdminMAC.Text + '''' + ')';

tb_netifl2params_mactb_netifl2params_adminmac是MAC地址字段。edL2InterfaceMAC.TextedL2AdminMAC.Text字符串值来自TEdit

相关问题