int CreateProc(PDBPROCESS * dbproc,char * pwd,char * sname)
{
PLOGINREC login
// char sname[20]
unsigned short num
// memset(sname,0,sizeof(sname))
login=dblogin()
DBSETLUSER(login,"sa")
if(strlen(pwd)>0)
{
DBSETLPWD(login,pwd)
}
DBSETLVERSION(login, DBVER60)
dbprocerrhandle(login,err_handler)
dbprocmsghandle(login,msg_handler)
// dbserverenum(LOC_SEARCH,sname,sizeof(sname),&num)
DBSETLTIME(login,20)
*dbproc=dbopen(login,sname)
if(*dbproc == NULL){
return ERR
}
dbuse(*dbproc,"ccenter")
dbfreelogin(login)
return OK
}
int check_grp_no(int grp_no, unsigned int * small_len)
{
int res=0
int cnt=0
dbcancel(dbproc)
dbfcmd(dbproc," select small_len from grp_table where grp_no=%d",grp_no)
res=dbsqlexec(dbproc)
if((res=dbresults(dbproc))==SUCCEED){
dbbind(dbproc,1,INTBIND,0,(unsigned char *)small_len)
while(dbnextrow(dbproc)!=NO_MORE_ROWS){
cnt++
return OK
}
}
return ERR
}
DELPHI的Data Access控件中TCRBatchMove控件就有数据导出功能。DBF文件连接这部分你再自己去查一下吧,大致如下:
构造ado connection string
提供者选择 Microsoft Jet 4.0 OLEDB Provider
"所有"那里编辑 Extended Properties,
dbf文件的话设置为dBase 5.0(注意dBase和5.0之间必须有空格,最好拷贝过去粘贴)
db文件的话设置为Paradox 7.X
(dbf就是dbase或Vfox数据库,db就是paradox数据库)
"连接"那里的"数据库名称"输入的是目录名,不能包含文件名,
比如你的文件是 c:tempaaa.dbf ,那么输入c:temp
同时CursorLocation 设置为: clUseServer
还可以:
如果直接连的话,ADO的连接字串设为:
adoConnection1.ConnectionString:='Provider=MSDASQL.1ExtendedProperties="Driver={Microsoft Visual FoxproDriver}SourceType=DBFSourceDB=c:mydb"'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)