以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  请问一下,针对sql server数据库,如何运用金字塔函数插入到数据中?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=48969)

--  作者:淡月映梅
--  发布时间:2013/2/27 10:58:29
--  请问一下,针对sql server数据库,如何运用金字塔函数插入到数据中?
我自己有试写插入语句,但是却不可以,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") \');

上面代码是错的,不能执行,请问应该如何修改?

--  作者:rushtaotao
--  发布时间:2013/2/27 11:11:00
--  

现在能连接上了吗?

 


--  作者:淡月映梅
--  发布时间:2013/2/27 11:18:00
--  
可以,像是下面一段代码就可以得到数据库中的值,
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\');




--  作者:admin
--  发布时间:2013/2/28 1:22:47
--  

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编辑过]

--  作者:淡月映梅
--  发布时间:2013/2/28 9:52:06
--  
我在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 数据库进行插入数据动作

--  作者:王锋
--  发布时间:2013/2/28 10:51:58
--  
我们会考虑下个新版增加一个单引号的转换功能,方便用户在字符串中使用单引号
--  作者:淡月映梅
--  发布时间:2013/2/28 17:44:31
--  
那能大概透露下什么时候可以更新下一个版本?
--  作者:王锋
--  发布时间:2013/2/28 18:15:02
--  

下个升级版将增加一个函数 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)&\',.....