使用动态SQL怎么将一行数据中的多个字段取出来

使用动态SQL如何将一行数据中的多个字段取出来?
 
如题,小弟现在在做毕业设计,整个界面是左边是一个Datawindow,选中时,获取该行的id,并通过动态SQL语句从数据库中取出该行的详细信息。

但目前遇到了问题,就是取出通过动态SQL能取出一个字段的值,取出两个字段时虽然不报错,但显示不出来。

代码如下:

DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA;

string type1
string type2

String SQLstatement
string pid
pid=trim(rowid)
//rowid是通过选中Datawindow中的某行获得的该行id

SQLstatement = "select pmtype1, pmtype2 into :type1, :type2 from pokemon where pmid=?"

PREPARE SQLSA FROM :SQLstatement;

OPEN DYNAMIC my_cursor using :pid;

FETCH my_cursor INTO :type1,:type2;
sle_3.text=type1
sle_4.text=type2

CLOSE my_cursor;



但是,如果只取一个字段的值,它就显示正常,代码如下:

 DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA;

string type1
string type2

String SQLstatement
string pid
pid=trim(rowid)

SQLstatement = "select pmtype1 into :type1 from pokemon where pmid=?"

PREPARE SQLSA FROM :SQLstatement;

OPEN DYNAMIC my_cursor using :pid;

FETCH my_cursor INTO :type1;
sle_3.text=type1

CLOSE my_cursor;

嘛,顺带还有一个问题,请教一下,在数据库中有一列是blob的图像,请问取出来应该要如何操作。

图片框的名字是p_1。

就是将数据库中的图片显示在图片框中。



------解决方案--------------------
1.首先,数据库取值是没问题的,但是如果你字段涉及到了二进制的字段,那肯定取不出值。
2.取大字段要使用selectbolb进行。
3.如果存储的是图像,当然要先把图像传化成流,存到数据库,然后在逆向还原就可以了。将图像还原到本地的某个文件夹中,将P_1的路径设置为图片路径。
4.如果是二进制转换,也可以使用p_1的setpicture属性,直接把二进制的值传进去。
5.。。。。。。
------解决方案--------------------
检查一下你的代码吧。
在 OPEN DYNAMIC my_cursor using :pid; 后写上
if sqlca.sqlcode <> 0 then 
messagebox('', sqlca.sqlerrtext)
end if