我自己有试写插入语句,但是却不可以,sql server中字符串是只认单引号的,而论坛上面却大部分是access数据库,所以基本上是用双引号,所以就不知道如何转换了。
以下是自己编写的代码,想要添加现价到数据库中:
DATABASE('driver=SQL Server;Server=192.168.0.105;DATABASE=test;UID=sa;PWD=123');
dbexecute('insert into tradedetail(stockdate,strid,strname,stockcode,myholdings,orderprice,operation) values ("2012-2-1 14:12:10","auto","tgc","ta","0",' + numtostr(Dynainfo(7),2) + ',"sellshort") ');
上面代码是错的,不能执行,请问应该如何修改?
可以,像是下面一段代码就可以得到数据库中的值,
DATABASE('driver=SQL Server;Server=192.168.0.105;DATABASE=test;UID=sa;PWD=123');
dbtable('select * from autoremark where stockcode="ta"');
aa:dbvalue('ordertime');
SQL Server 应该同样支持双引号字符串的,不知道楼主具体遇到了什么问题?
为了避免混淆,金字塔的字符串相加的运算操作符是&,而不是+,你试试代码改到
DATABASE('driver=SQL Server;Server=192.168.0.105;DATABASE=test;UID=sa;PWD=123');
dbexecute('insert into tradedetail(stockdate,strid,strname,stockcode,myholdings,orderprice,operation) values ("2012-2-1 14:12:10","auto","tgc","ta","0",' & numtostr(Dynainfo(7),2) & ',"sellshort") ');
后看看
此外,上述的SQL代码,建议你先在SQL SERVER的客户端脚本编辑器中运行测试一下,可以正常插入后再移植到金字塔
[此贴子已经被作者于2013-2-28 1:29:47编辑过]
我在sql server端尝试运行带有双引号的sql 语句确实是不行的,
insert into tradedetail(stockdate,strid,strname) values ("2012-2-1 14:12:10","auto","tgc")
它会提示说
消息 207,级别 16,状态 1,第 2 行
列名 '2012-2-1 14:12:10' 无效。
改成单引号却是可以的
insert into tradedetail(stockdate,strid,strname) values ('2012-2-1 14:12:10','auto','tgc')
我的问题是:我不知道 要怎么通过金字塔的pel语言来对sql 数据库进行插入数据动作
我们会考虑下个新版增加一个单引号的转换功能,方便用户在字符串中使用单引号
下个升级版将增加一个函数 CHAR ,这个函数即可实现你的要求.
举例:
dbexecute('insert into tradedetail(stockdate,strid,strname,stockcode,myholdings,orderprice,operation) values ('&char(39)&'2012-2-1 14:12:10'&char(39)&','&char(39)&'auto'&char(39)&','&char(39)&'tgc'&char(39)&,'&char(39)&'ta'&char(39)&',.....