全球FlexSim系统仿真中文论坛

标题: flexsim 与odbc数据库之间SQL查询的咨询 [打印本页]

作者: missman    时间: 2013-11-23 14:11
标题: flexsim 与odbc数据库之间SQL查询的咨询
各位高手,我用SQL模式查询数据库时,如何返回查询的特定值啊?! Y* ?2 x: C+ L) y: ~. h# S
4 z. j" s* N4 G1 Y/ e
目前我能做的只是& A% c' ^7 R9 T% e5 a, T% I% @
dbsqlquery(“select * from database”);
# S& E' Z( ]* n' o 查询全部数据,
& W; A' W/ B+ Z  E& A* j' {; }
3 I# p2 Q2 x6 Q+ z' x! t5 @我希望的是能够返回一个字段的字符串,即用下面的语句返回一个值
  R2 j+ X" f( j1 U) \string age=dbsqlquery(“select age from database where name=‘zhangsan’”);. f- Y: {) `. |4 n4 @. [  N
6 B6 G6 L9 {, d. g- z
结果我运行时,age=“select age from database where name=‘zhangsan’”( G7 h7 Q0 g) a9 ^  l4 ^1 I. `
然后我定义为 int age=****0 X+ ]5 t2 \* i1 B
运行结果为: age=1
5 C0 ]$ y% @, I& g2 b7 e$ a/ R: k% X; W6 r, _
不理解,正确的方法应该是什么啊?
作者: missman    时间: 2013-11-25 15:25
有谁用过吗?期待給与参考意见啊
作者: shadowwind    时间: 2013-11-25 15:57
2# missman
) L- M7 `; q3 ?
) O: a- z3 d) Q. F. J9 H! K# E. ]7 @- n6 N. {/ O5 g
昝工,稍后我会让工程师尽快回复这个问题~
作者: shadowwind    时间: 2013-11-25 16:40
2# missman + f. ^# X2 c, E* N' r$ W4 ^: B

. s- [% Q( {! p, h( G9 s" P" V; z! X8 H4 W7 S9 @! U, c) C
昝工,您好,刚刚咨询部那边回复我,说您可以在菜单栏上-视图-最下面的“当前数据库表格”中查询,您尝试一下,有什么问题继续联系我,谢谢
作者: missman    时间: 2013-11-26 13:20
4# shadowwind
# b! T: W" L6 ^$ i3 z4 i6 B
" w+ ~! Y/ ^( z6 ~( Q/ X4 ^8 d) e. o) ?
好的,谢谢汪总。1 X3 M7 f+ M0 H% x6 R

" J8 Q: E; L2 m9 ~  F( Q4 Z确认后再咨询。
作者: missman    时间: 2013-12-7 10:56
4# shadowwind
7 I2 W0 u7 p+ C! `" i3 U+ }8 w0 h' H& P6 Y" }
9 Q* r# A& G2 P# S- Y+ O( w- d
汪总,我看了,还是没有办法,具体请参考图片[attach]1642[/attach]9 R- \* k% _7 d3 P
( M: ]$ p: t. k0 O1 `7 C( {
备注:数据库中我的数据都为字符型。. i* j( g2 I" N' U0 o; q8 U

4 e( X1 T! @+ X* E" u拜托帮帮忙啊
作者: a445608540    时间: 2013-12-7 11:35
高手云集,继续跟进
作者: missman    时间: 2013-12-9 07:55
求高手
作者: missman    时间: 2013-12-11 16:51
自己顶一下。不能沉了啊
作者: missman    时间: 2013-12-12 08:07
以下是从官方技术支持处获取的回复,希望与大家分享。
* r2 L- S- n' J; ?- u7 x
& Q; _5 M0 ]0 M+ q0 L1 ^+ _: MWhen using the dbsqlquery() command with a SQL Select statement, the result does not return anything useful.  Instead, the query result is stored in memory and can be accessed using the dbgettablecell() command.  Since it looks like you are only retrieving a result with one row and one column, you can do something like this:
$ P, s6 v" N& K, Z8 O! E  Z9 R* i7 ~4 U
dbsqlquery("select...");
9 L6 m+ ]  s" [/ Q! Fdouble c = stringtonum(dbgettablecell(1,1));9 H0 n5 `2 B3 t7 T& `7 D& B: S
7 I; @" Z1 W3 t7 g! L" u( W
Or if you want to keep it as a string, you can do this:8 v# ?  m+ y) ]# z! W6 |

8 e$ j" }" a+ @  ndbsqlquery("select...");
  t- \$ ~2 S" y2 b+ A. ostring d = dbgettablecell(1,1);
作者: 慧娴亚伦    时间: 2013-12-12 08:51
还没用过SQL查询的功能,感谢楼主,先收藏了。
作者: missman    时间: 2013-12-12 15:04
11# 慧娴亚伦
2 n9 }# `1 v  D0 R# k
3 h5 c2 E; d/ y
' m# ^! H7 {" e9 X9 Q# _% I+ H用这种方法比查表快多了,不用一行一行循环查找。
6 f$ L6 A- J) Y/ D* [5 F+ e6 V
) B9 a9 `5 ^7 ]- i, ?我也是工作中用到了,所以就追了一段时间,终于搞定了。
作者: shadowwind    时间: 2013-12-12 15:41
12# missman + [3 Y; t: A/ ^
. m2 P+ W6 B3 c! M! c7 s6 ]) j: ~6 A
+ o% M- y6 L$ r
昝工太强了,感谢经验分享~~~~
作者: missman    时间: 2013-12-13 07:51
12# missman
& H0 ^3 z0 g+ P/ ]8 l* o
+ R1 Q* y% \+ Q, L! v% c% g2 Z' @! h; D/ B
昝工太强了,感谢经验分享~~~~) l9 ]* m4 Y1 Q0 f/ E
shadowwind 发表于 2013-12-12 15:41

0 y+ [7 l+ P6 d5 U" b$ c$ [客气了,我也就是入门爱好者而已。不敢与“强”字靠的太近啊,呵呵
作者: zorsite    时间: 2015-8-18 23:13
以下是从官方技术支持处获取的回复,希望与大家分享。
/ @) {& w* t) x) L* _
8 d& @1 a1 q/ C+ yWhen using the dbsqlquery() command with a SQL Select statement, the result does not return anything useful.  Instead, the query result is stored  ...
* ~; {: g  c$ T8 F2 L. l. k; Umissman 发表于 2013-12-12 08:07

6 k. y' `% u7 k9 T5 z/ k4 ^9 H  B
1 |* @: {# Y8 G- e6 C0 l3 d有用,谢谢分享




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3