欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 数据库操作读取记录的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4429人关注过本帖树形打印复制链接

主题:数据库操作读取记录的问题

帅哥哟,离线,有人找我吗?
qq代人发帖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
数据库操作读取记录的问题  发帖心情 Post By:2017/5/25 14:07:07 [只看该作者]

找不到任何操作数据库的样例代码,只有官方一点点东西。
现在遇到问题,请各位帮忙:

DATABASE('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\myModel.mdb');
//DBTABLE('Select f2 From t1 where f1="1"');

周期:DBVALUE ('period');
name:= DBString ('name');

现在取得了第一行记录了, 下面的记录该如何取? 看了很久函数,怎么都找不到?

 回到顶部
帅哥哟,离线,有人找我吗?
奉若圭臬
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2017/5/25 10:00:44
  发帖心情 Post By:2017/5/25 14:14:50 [只看该作者]

这个问题是我的。请不要回答用VBA了。不想就吃顿饭,还要先去买种子,种庄稼


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2017/5/25 14:21:29 [只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=401

这里的范例中里的表中不是有多条记录的吗?

 

你只要将StockDate字段中的日期设置好就可以,金字塔运行时会自动将该日期对应到K线位置上



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
奉若圭臬
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2017/5/25 10:00:44
  发帖心情 Post By:2017/5/25 14:44:19 [只看该作者]

只是想一次查出一批在外部已经清洗分析过的数据,在初始化里一次处理完毕而已,结果到现在都找不到办法。这和StockDate这种用户应用级的东西扯不到一起去。

 回到顶部
帅哥哟,离线,有人找我吗?
奉若圭臬
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2017/5/25 10:00:44
  发帖心情 Post By:2017/5/25 14:45:34 [只看该作者]

正因为表里有多条数据,连接一次,一个循环处理完毕,而不是必须等每根K线去连数据库,慢死去。

 回到顶部
帅哥哟,离线,有人找我吗?
FexTel
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2017/5/25 16:50:00 [只看该作者]

stockdate只是一种示例方式,你可以指定序列取值。也是要指定字段的,你要在表里面加进去

DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb');
DBTABLE('Select * From zjif06 where 序列=1);
cc:DBVALUE('收盘价');




金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/5/25 17:12:16 [只看该作者]

DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb');

for i = 1 to 10 DO
begin
DBTABLE('Select * From SH600000 where ID=3');
cc:=DBVALUE('STOCKCLOSE');
msgout(islastbar,NUMTOSTR(cc,2));
end


自己在表里建立一个 ID序号列,然后程序里循环下计算 ,我这边制定了 id=3你可以自行换成前面的i变量

具体sql语句where如何设置条件是变量形式,用户可百度或自行尝试


 回到顶部
帅哥哟,离线,有人找我吗?
奉若圭臬
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2017/5/25 10:00:44
  发帖心情 Post By:2017/5/25 20:51:03 [只看该作者]

楼上大侠的答案似乎可以路可以通,可只是把例子中的id=3换成变量,金字塔好像还是不支持 ——必须是一个常量字符串。试了所有的可能,就是不成。 唉,真不知道金字塔支持数据库支持的到底是什么,折磨用户啊。

 回到顶部
帅哥哟,离线,有人找我吗?
FexTel
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2017/5/26 8:50:30 [只看该作者]

pel调用数据库本身就属于比较简单的操作,你要完全支持各种应用可以考虑使用VB和C++


金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
奉若圭臬
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2017/5/25 10:00:44
  发帖心情 Post By:2017/6/4 17:42:30 [只看该作者]

最终发现还是需要用VBA才能解决,这个PEL数据库支持去掉吧,实在是彻底的鸡肋。


 回到顶部