在PB下用Embedded SQL来获取一个FUNCTION是行不通的
SELECT UNIX_TIMESTAMP INTO :VALUE; 是不让通过的,
只能用DATAWINDOW 技术以下是通用函数 RETRIEVE_BY_SQL( 如同VFP中的SQLEXEC)
PARAMETERS STRING S_SQL // SQL SYNTAX
DATASTORE DS_DATASTORE //REFERENCE
RETURN LONG RESULT
*************************************************
STRING NEW_SYNTAX,error_syntaxfromSQL,ERROR_CREATE
LONG LL_COUNT
new_syntax = SQLCA.SyntaxFromSQL(S_SQL, 'Style(Type=form)', error_syntaxfromSQL)
IF Len(error_syntaxfromSQL) > 0 THEN
// Display errors
MESSAGEBOX("SYNTAX错误", error_syntaxfromSQL)
RETURN -1
ELSE
// Generate new DataWindow
DS_DATASTORE.Create(new_syntax, error_create)
IF Len(error_create) > 0 THEN
MESSAGEBOX("CREATE错误", error_CREATE)
RETURN -1
END IF
END IF
DS_DATASTORE.SetTransObject(SQLCA)
LL_COUNT=DS_DATASTORE.Retrieve()
RETURN LL_COUNT
***********************************************************
SELECT UNIX_TIMESTAMP INTO :VALUE; 是不让通过的,
只能用DATAWINDOW 技术以下是通用函数 RETRIEVE_BY_SQL( 如同VFP中的SQLEXEC)
PARAMETERS STRING S_SQL // SQL SYNTAX
DATASTORE DS_DATASTORE //REFERENCE
RETURN LONG RESULT
*************************************************
STRING NEW_SYNTAX,error_syntaxfromSQL,ERROR_CREATE
LONG LL_COUNT
new_syntax = SQLCA.SyntaxFromSQL(S_SQL, 'Style(Type=form)', error_syntaxfromSQL)
IF Len(error_syntaxfromSQL) > 0 THEN
// Display errors
MESSAGEBOX("SYNTAX错误", error_syntaxfromSQL)
RETURN -1
ELSE
// Generate new DataWindow
DS_DATASTORE.Create(new_syntax, error_create)
IF Len(error_create) > 0 THEN
MESSAGEBOX("CREATE错误", error_CREATE)
RETURN -1
END IF
END IF
DS_DATASTORE.SetTransObject(SQLCA)
LL_COUNT=DS_DATASTORE.Retrieve()
RETURN LL_COUNT
***********************************************************
SELECT UNIX_TIMESTAMP() INTO :VALUE FROM MYGOD;
看出来了你在mysql上的造诣,谢谢你的热心回答,不知道你遇到没有这种情况
Mysql数据库
CREATE TABLE xinwen_xinxi (
id int auto_increment not null,
leibieid int not null,
biaoti varchar(200) not null,
laiyuan varchar(100) not null,
tianjiasijian int not null,
dianjisu int default 0,
tupiandizi varchar(200) default '',
xiangguanlianjie varchar(200) default '',
xiansifangsi char default '1',
tupianxinwen tinyint default 0,
neirong text not null,
PRIMARY KEY (id),
key (biaoti(10)),
key (leibieid)
);
以上这是新闻信息的表结构其中id是自动增加int类型
我在PB脚本中作如下引用:
long leibieid,tupianxinwen,tianjiasijian
string biaoti,laiyuan,tupiandizi,xiansifangsi,neirong,xiangguanlianjie
xinwenidtmp=dw_1.getitemdecimal(dw_1.getrow(),"xinwenid") SELECT xinwen_xinxi.leibieid,
xinwen_xinxi.biaoti,
xinwen_xinxi.laiyuan,
xinwen_xinxi.tianjiasijian,
xinwen_xinxi.tupiandizi,
xinwen_xinxi.xiangguanlianjie,
xinwen_xinxi.xiansifangsi,
xinwen_xinxi.tupianxinwen,
xinwen_xinxi.neirong
INTO :leibieid,
:biaoti,
:laiyuan,
:tianjiasijian,
:tupiandizi,
:xiangguanlianjie,
:xiansifangsi,
:tupianxinwen,
:neirong
FROM xinwen_xinxi
where id = :xinwenidtmp;
messagebox("xinwe",biaoti)
测试让其输出biaoti字段的值,但是,当id<=9的时候可以正确的输出biaoti值,如果
id>9时候则,没有任何输出。
我都晕了,也不知道为什么?
请大家帮我看看,多谢