DB_LIBRAY是SQL SERVER的编程接口函数的一个体系,
问一下,用这些编程接口执行存储过程时,
通过什么API取得该存储过程的出参和返回值?
// 下面是一些相关API,但找不到如何取存储过程的出口参数值和返回值的函数API !
typedef BYTE * (*p_dbinit)(void);
typedef RETCODE (*p_dbsetlogintime)(INT);
typedef LOGINREC* (*p_dblogin)(void);
typedef DBPROCESS* (*p_dbopen)(LOGINREC *,char *);
typedef void (*p_dbsetlname)(LOGINREC *,char *,int );
typedef RETCODE (*p_dbuse)(DBPROCESS *,char *);
typedef RETCODE (*p_dbcmd)(DBPROCESS *,char *);
typedef RETCODE (*p_dbcmdrow)(DBPROCESS *);
typedef RETCODE (*p_dbsqlexec)(DBPROCESS *);
typedef RETCODE (*p_dbsqlok)(DBPROCESS *);
typedef RETCODE (*p_dbsqlsend)(DBPROCESS *);
typedef void (*p_dbwinexit)(void);
typedef RETCODE (*p_dbresults)(DBPROCESS *);
typedef RETCODE (*p_dbnextrow)(DBPROCESS *);
typedef RETCODE (*p_dbbind)(DBPROCESS *,int,int,DBINT,BYTE *);
typedef RETCODE (*p_dbcancel)(DBPROCESS *);
typedef RETCODE (*p_dbclose)(DBPROCESS *);
typedef void (*p_dbexit)(void);
typedef void (*p_dbclrbuf)(DBPROCESS *,DBINT);
typedef INT (*p_dbcollen)(DBPROCESS *,int);
typedef char * (*p_dbcolname)(DBPROCESS *,int);
typedef INT (*p_dbcoltype)(DBPROCESS *,int);
typedef INT (*p_dbcolntype)(DBPROCESS *,int);
typedef INT (*p_dbcolutype)(DBPROCESS *,int);
typedef DBINT (*p_dbcount)(DBPROCESS *);
typedef char * (*p_dbdata)(DBPROCESS *,int);
typedef DBUBOOL (*p_dbdataready)(DBPROCESS *);
typedef DBINT (*p_dbdatlen)(DBPROCESS *,int);
typedef RETCODE (*p_dbdatecrack) (PDBPROCESS dbproc,LPDBDATEREC dateinfo,LPCDBDATETIME datetime );
typedef DBUBOOL (*p_dbdead)(DBPROCESS *);
typedef DBERRHANDLE_PROC (*p_dberrhandle)(DBERRHANDLE_PROC);
typedef DBMSGHANDLE_PROC (*p_dbmsghandle)(DBMSGHANDLE_PROC);
typedef DBERRHANDLE_PROC (*p_dbprocerrhandle)(HANDLE *,DBERRHANDLE_PROC);
typedef DBMSGHANDLE_PROC (*p_dbprocmsghandle)(HANDLE *,DBMSGHANDLE_PROC);
typedef RETCODE (*p_dbfcmd)(DBPROCESS *,char *,...);
typedef DBINT (*p_dbfirstrow)(DBPROCESS *);
typedef DBINT (*p_dblastrow)(DBPROCESS *);
typedef BOOL (*p_dbiscount)(DBPROCESS *);
typedef INT (*p_dbnumcols)(DBPROCESS *);
typedef INT (*p_dbnumorders)(DBPROCESS *);
typedef INT (*p_dbnumrets)(DBPROCESS *);
typedef INT (*p_dbordercol)(DBPROCESS *,INT);
typedef RETCODE (*p_dbrows)(DBPROCESS *);
typedef STATUS (*p_dbrowtype)(DBPROCESS *);
typedef DBINT (*p_dbretstatus)(DBPROCESS *);
typedef int (*p_dbserverenum)(USHORT,char *,USHORT,unsigned short * );
typedef RETCODE (*p_dbcolinfo)(DBPROCESS *, INT, DBINT, DBINT, DBCOL *);
typedef void (*p_dbfreelogin)(PLOGINREC);
typedef LPVOID (*p_dbgetuserdata)(DBPROCESS *);
typedef void (*p_dbsetuserdata)(DBPROCESS *, LPVOID);
typedef SHORT (*p_dbgetmaxprocs)(void);
typedef void (*p_dbsetmaxprocs)(SHORT);
typedef LPCSTR (*p_dbname)(DBPROCESS *);
typedef LPCSTR (*p_dbchange)(DBPROCESS *);
问一下,用这些编程接口执行存储过程时,
通过什么API取得该存储过程的出参和返回值?
// 下面是一些相关API,但找不到如何取存储过程的出口参数值和返回值的函数API !
typedef BYTE * (*p_dbinit)(void);
typedef RETCODE (*p_dbsetlogintime)(INT);
typedef LOGINREC* (*p_dblogin)(void);
typedef DBPROCESS* (*p_dbopen)(LOGINREC *,char *);
typedef void (*p_dbsetlname)(LOGINREC *,char *,int );
typedef RETCODE (*p_dbuse)(DBPROCESS *,char *);
typedef RETCODE (*p_dbcmd)(DBPROCESS *,char *);
typedef RETCODE (*p_dbcmdrow)(DBPROCESS *);
typedef RETCODE (*p_dbsqlexec)(DBPROCESS *);
typedef RETCODE (*p_dbsqlok)(DBPROCESS *);
typedef RETCODE (*p_dbsqlsend)(DBPROCESS *);
typedef void (*p_dbwinexit)(void);
typedef RETCODE (*p_dbresults)(DBPROCESS *);
typedef RETCODE (*p_dbnextrow)(DBPROCESS *);
typedef RETCODE (*p_dbbind)(DBPROCESS *,int,int,DBINT,BYTE *);
typedef RETCODE (*p_dbcancel)(DBPROCESS *);
typedef RETCODE (*p_dbclose)(DBPROCESS *);
typedef void (*p_dbexit)(void);
typedef void (*p_dbclrbuf)(DBPROCESS *,DBINT);
typedef INT (*p_dbcollen)(DBPROCESS *,int);
typedef char * (*p_dbcolname)(DBPROCESS *,int);
typedef INT (*p_dbcoltype)(DBPROCESS *,int);
typedef INT (*p_dbcolntype)(DBPROCESS *,int);
typedef INT (*p_dbcolutype)(DBPROCESS *,int);
typedef DBINT (*p_dbcount)(DBPROCESS *);
typedef char * (*p_dbdata)(DBPROCESS *,int);
typedef DBUBOOL (*p_dbdataready)(DBPROCESS *);
typedef DBINT (*p_dbdatlen)(DBPROCESS *,int);
typedef RETCODE (*p_dbdatecrack) (PDBPROCESS dbproc,LPDBDATEREC dateinfo,LPCDBDATETIME datetime );
typedef DBUBOOL (*p_dbdead)(DBPROCESS *);
typedef DBERRHANDLE_PROC (*p_dberrhandle)(DBERRHANDLE_PROC);
typedef DBMSGHANDLE_PROC (*p_dbmsghandle)(DBMSGHANDLE_PROC);
typedef DBERRHANDLE_PROC (*p_dbprocerrhandle)(HANDLE *,DBERRHANDLE_PROC);
typedef DBMSGHANDLE_PROC (*p_dbprocmsghandle)(HANDLE *,DBMSGHANDLE_PROC);
typedef RETCODE (*p_dbfcmd)(DBPROCESS *,char *,...);
typedef DBINT (*p_dbfirstrow)(DBPROCESS *);
typedef DBINT (*p_dblastrow)(DBPROCESS *);
typedef BOOL (*p_dbiscount)(DBPROCESS *);
typedef INT (*p_dbnumcols)(DBPROCESS *);
typedef INT (*p_dbnumorders)(DBPROCESS *);
typedef INT (*p_dbnumrets)(DBPROCESS *);
typedef INT (*p_dbordercol)(DBPROCESS *,INT);
typedef RETCODE (*p_dbrows)(DBPROCESS *);
typedef STATUS (*p_dbrowtype)(DBPROCESS *);
typedef DBINT (*p_dbretstatus)(DBPROCESS *);
typedef int (*p_dbserverenum)(USHORT,char *,USHORT,unsigned short * );
typedef RETCODE (*p_dbcolinfo)(DBPROCESS *, INT, DBINT, DBINT, DBCOL *);
typedef void (*p_dbfreelogin)(PLOGINREC);
typedef LPVOID (*p_dbgetuserdata)(DBPROCESS *);
typedef void (*p_dbsetuserdata)(DBPROCESS *, LPVOID);
typedef SHORT (*p_dbgetmaxprocs)(void);
typedef void (*p_dbsetmaxprocs)(SHORT);
typedef LPCSTR (*p_dbname)(DBPROCESS *);
typedef LPCSTR (*p_dbchange)(DBPROCESS *);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货