亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? database.cpp~

?? 電力系統Linux設備通訊程序 主要是為了各大電網通訊數據代碼
?? CPP~
?? 第 1 頁 / 共 2 頁
字號:
	    qstmp.sprintf("%s",tmps2.data());FieldList.append(qstmp);	    iStart=i;	}       tmps2=SqlStr.mid(iStart+1,index-iStart-1);       j=tmps2.find("=",iStart+1);tmps2=tmps2.mid(iStart+1,j-iStart-1);       qstmp.sprintf("%s",tmps2.data());FieldList.append(qstmp);       WhereStr=SqlStr.mid(index+1);    }    else if(tmps1=="DELETE")    {       FieldList.clear();	index=SqlStr.find(" from ",0);if(index<0) index=SqlStr.find(" From ",0);	if(index<0) index=SqlStr.find(" FROM ",0);	if(index<0) return;	iStart=index;       index=SqlStr.find(" where ",iStart+1);if(index<0) index=SqlStr.find(" Where ",iStart+1);       if(index<0) index=SqlStr.find(" WHERE ",iStart+1);       if(index<0) index=SqlStr.length();       Table=SqlStr.mid(iStart+6,index-iStart-6);       WhereStr=SqlStr.mid(index+1);    }    else    {       Table="";FieldList.clear();WhereStr="";    }}Oid CDataBase :: importfile(long hdbc,char *filename){    PGconn *conn=(PGconn*)hdbc;    Oid lobjId;int lobj_fd;char buf[BUFSIZE];int nbytes,tmp,fd;    //open file    fd=open(filename,O_RDONLY,0660);    if(fd<0)    {	fprintf(stderr,"不能打開文件:%s\n",filename);return 0;    }    //create the large object    lobjId=lo_creat(conn,INV_READ|INV_WRITE);    if(lobjId==0)    {	fprintf(stderr,"不能創建大對象\n");(void)close(fd);return 0;    }    lobj_fd=lo_open(conn,lobjId,INV_WRITE);    if(lobj_fd<0)    {	fprintf(stderr,"不能打開大對象:%d\n",lobjId);(void)close(fd);return 0;    }    while((nbytes=read(fd,buf,BUFSIZE))>0)    {	tmp=lo_write(conn,lobj_fd,buf,nbytes);	if(tmp<nbytes)	{	    fprintf(stderr,"讀大對象出錯\n");	    (void)close(fd);(void)lo_close(conn,lobj_fd);return 0;	}    }    (void)close(fd);(void)lo_close(conn,lobj_fd);return lobjId;}bool CDataBase :: pickout(long hdbc,Oid lobjId,int start,int len,void* retbuf){    int lobj_fd;char *buf;int nbytes,nread;    PGconn *conn=(PGconn*)hdbc;    if(retbuf==NULL) return 0;    lobj_fd=lo_open(conn,lobjId,INV_READ);    if(lobj_fd<0)    {	fprintf(stderr,"不能打開大對象:%d\n",lobjId);return 0;    }    lo_lseek(conn,lobj_fd,start,SEEK_SET);    buf=(char*)malloc(len+1);nread=0;    while(len-nread>0)    {	nbytes=lo_read(conn,lobj_fd,buf,len-nread);	memcpy((char*)retbuf+nread,buf,nbytes);	nread+=nbytes;    }    free(buf);lo_close(conn,lobj_fd);    return 1;}bool CDataBase :: overwrite(long hdbc,Oid lobjId,int start,int len,void* srcbuf){    int lobj_fd;char *buf;int nbytes,nwritten;    if(srcbuf==NULL) return 0;    PGconn *conn=(PGconn*)hdbc;    lobj_fd=lo_open(conn,lobjId,INV_READ|INV_WRITE);    if(lobj_fd<0)    {	fprintf(stderr,"不能打開大對象:%d\n",lobjId);return 0;    }    lo_lseek(conn,lobj_fd,start,SEEK_SET);    buf=(char*)malloc(len+1);    memset(buf,0x00,len+1);    memcpy(buf,(char*)srcbuf,len);    nwritten=0;    while(len-nwritten>0)    {	nbytes=lo_write(conn,lobj_fd,buf+nwritten,len-nwritten);	nwritten+=nbytes;    }    free(buf);lo_close(conn,lobj_fd);    return 1;}bool CDataBase :: exportfile(long hdbc,Oid lobjId,char *filename){    int lobj_fd;char buf[BUFSIZE];int nbytes,tmp,fd;    PGconn *conn=(PGconn*)hdbc;    lobj_fd=lo_open(conn,lobjId,INV_READ);    if(lobj_fd<0)    {	fprintf(stderr,"不能打開大對象:%d\n",lobjId);return 0;    }    fd=open(filename,O_CREAT|O_WRONLY,0660);    if(fd<0)    {	fprintf(stderr,"不能打開或創建文件:%s\n",filename);lo_close(conn,lobj_fd);return 0;    }    while((nbytes=lo_read(conn,lobj_fd,buf,BUFSIZE))>0)    {	tmp=write(fd,buf,nbytes);	if(tmp<nbytes)	{	    break;	}    }    (void)lo_close(conn,lobj_fd);(void)close(fd);return 1;}//******************************************************************//*插入帶有大對象的函數//*SqlStr="Insert into image(name,photo1,photo2) values('12345',?,?);"//*photo1,photo2為大對象的字段//*FileList是文件的列表,類似Windows VC++中的CStringArray//*返回=0表示失敗;=1表示成功//******************************************************************bool CDataBase :: InsertWithLargeObject(long hdbc,QCString SqlStr,QStringList FileList){    int iCount=FileList.count();    QString s1;Oid tmpid;bool bret=1;QCString param;    QPtrList<Oid> OidArray;OidArray.clear();    PGresult *res = PQexec((PGconn*)hdbc, "begin");    if(!res)    {	PQclear(res);return 0;    }    for(int i=0;i<iCount;i++)    {	s1=*(FileList.at(i));	tmpid = lo_import((PGconn*)hdbc, s1.data());	if(tmpid<=0) 	{	    bret=0;continue;	}	param.sprintf("%d",tmpid);	SqlStr=FillParam(SqlStr,i+1,0,param);	OidArray.append(&tmpid);    }    res = PQexec((PGconn*)hdbc, SqlStr.data());    if (!res)    {       PQclear(res);bret=0;	//記錄插入失敗,刪除大對象	for(int j=0;j<(int)OidArray.count();j++)       {	   lo_unlink((PGconn*)hdbc,*(OidArray.at(j)));       }    }    res = PQexec((PGconn*)hdbc, "end");    PQclear(res);    return bret;}//******************************************************************//*刪除帶有大對象的記錄函數:Table=表名;WhereStr=刪除條件;FieldList=存放大對象的字段數組//*bDeleRow=1表示先刪除大對象再刪除對應的記錄//*返回=0表示失敗;=1表示成功//******************************************************************bool CDataBase :: DeleteWithLargeObject(long hdbc,QCString Table,QCString WhereStr,QStringList FieldList,					bool bForceDele,bool bDeleRow){    QCString tmpsql,tmps; tmpsql="Select ";QString FieldName;    for(int i=0;i<(int)FieldList.count();i++)    {	FieldName=*(FieldList.at(i));	tmps.sprintf("%s",FieldName.data()); tmpsql+=tmps;	if(i<(int)FieldList.count()-1)  tmpsql+=",";    }    tmpsql+=" from "+Table+" "+WhereStr;    //開始數據庫事務    PGresult *res = PQexec((PGconn*)hdbc, "BEGIN");    if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)    {        fprintf(stderr, "BEGIN command failed\n");PQclear(res);return 0;    }    PQclear(res);    //執行查詢語句    res = PQexec((PGconn*)hdbc,tmpsql.data());    if(  PQresultStatus(res)  !=  PGRES_TUPLES_OK)     {       fprintf(stderr,"Exec Query Fauled!\\n");PQclear(res);return 0;    }    int i = PQntuples(res); int t = PQnfields(res);Oid tmpOid=0;int ret=0;    for(int s=0; s<i; s++)    {	ret=0;       for (int k = 0; k<t; k++)	{	    tmps.sprintf("%s",PQgetvalue(res,s,k));	    tmpOid=(Oid)tmps.toUInt();	    if(tmpOid<=0) continue;      	     //該字段無對應的大對象	    ret=lo_unlink((PGconn*)hdbc,tmpOid);       //刪除大對象	    if(ret<0&&bForceDele==0) break;          //刪除失敗       }       if(ret<0&&bForceDele==0) break;              //刪除失敗    }    PQclear(res);     //如果出錯回滾否則繼續    if(ret<0&&bForceDele==0)    {	res = PQexec((PGconn*)hdbc, "ROLLBACK");	if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)	{	    fprintf(stderr, "ROLLBACK command failed\n");PQclear(res);return 0;	}	PQclear(res);     }    //是否刪除數據庫記錄    if(bDeleRow)    {	tmpsql=" Delete from "+Table+" "+WhereStr; res = PQexec((PGconn*)hdbc,tmpsql.data());PQclear(res);    }    res = PQexec((PGconn*)hdbc, "COMMIT");    if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)    {       fprintf(stderr, "COMMIT command failed\n");PQclear(res);return 0;    }    PQclear(res);    return 1;}//******************************************************************//*修改帶有大對象的記錄函數:SqlStr=Update 表名 Set field1=?,field2=? where recordindex='111'//*FileList=文件名數組//*返回=0表示失敗;=1表示成功//******************************************************************bool CDataBase :: UpdateLargeObject(long hdbc,QCString SqlStr,QStringList FileList){    QCString Table,WhereStr;QStringList FieldList;QString s1;Oid tmpid;bool bret=1;QCString param;    QPtrList<Oid> OidArray;OidArray.clear();    //得到表名,字段,條件    GetTableFromSql(SqlStr,Table,WhereStr,FieldList);    //刪除原來的大對象[強制+不刪除記錄]    DeleteWithLargeObject(hdbc,Table,WhereStr,FieldList,1,0);    //開始數據庫事務    PGresult *res = PQexec((PGconn*)hdbc, "begin");    if(!res)    {	PQclear(res);return 0;    }    //保存數據庫大對象    int iCount=FileList.count();    for(int i=0;i<iCount;i++)    {	s1=*(FileList.at(i));	tmpid = lo_import((PGconn*)hdbc, s1.data());	if(tmpid<=0) 	{	    bret=0;continue;	}	param.sprintf("%d",tmpid);	SqlStr=FillParam(SqlStr,i+1,0,param);	OidArray.append(&tmpid);    }    res = PQexec((PGconn*)hdbc, SqlStr.data());    if (!res)    {       PQclear(res);bret=0;	//記錄插入失敗,刪除大對象	for(int j=0;j<(int)OidArray.count();j++)       {	   lo_unlink((PGconn*)hdbc,*(OidArray.at(j)));       }    }    res = PQexec((PGconn*)hdbc, "end");    PQclear(res);    return bret;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产亚洲一区二区三区| 欧美精品一区二区三区高清aⅴ| 国产精品综合一区二区三区| 日韩不卡手机在线v区| 亚洲国产综合色| 天天爽夜夜爽夜夜爽精品视频| 亚洲国产综合91精品麻豆| 天天射综合影视| 激情国产一区二区| 国产高清精品在线| 91视频在线观看免费| 色哟哟一区二区| 精品视频免费看| 日韩视频免费观看高清在线视频| 日韩美一区二区三区| 精品国产区一区| 国产精品情趣视频| 亚洲欧美另类小说视频| 亚洲福利视频三区| 韩国午夜理伦三级不卡影院| 国产精品一卡二卡在线观看| 91丨九色丨尤物| 欧美伦理影视网| 久久久高清一区二区三区| 国产精品乱人伦一区二区| 亚洲一区二区欧美| 国产一二精品视频| 欧洲国内综合视频| 久久久久久免费网| 亚洲午夜精品网| 国产一区二区看久久| 色综合久久综合| 欧美tickling网站挠脚心| 国产精品你懂的| 天天色 色综合| 成人精品一区二区三区四区| 91福利国产成人精品照片| 亚洲精品一区二区三区福利 | 欧美一级黄色录像| 国产精品素人一区二区| 日韩1区2区日韩1区2区| 91在线免费视频观看| 久久亚洲免费视频| 午夜欧美2019年伦理| 不卡一区中文字幕| 日韩视频免费观看高清完整版| 1区2区3区欧美| 国产一区二区精品久久99| 欧美日韩亚洲国产综合| 亚洲婷婷综合色高清在线| 精品一区二区三区在线播放 | 亚洲精品一区二区三区99| 亚洲激情六月丁香| 粉嫩一区二区三区性色av| 日韩欧美国产精品| 午夜精彩视频在线观看不卡| 91丨porny丨在线| 国产精品丝袜在线| 国产91精品入口| 2023国产精品视频| 久久精品理论片| 7777精品伊人久久久大香线蕉完整版 | 亚洲人成在线播放网站岛国| 激情久久五月天| 欧美va日韩va| 激情综合色播激情啊| 精品免费99久久| 卡一卡二国产精品| 欧美一区午夜视频在线观看| 一区二区成人在线视频| 色综合久久久久综合体桃花网| 久久精品水蜜桃av综合天堂| 九一九一国产精品| 欧美成人在线直播| 久久99精品久久久久久久久久久久 | 色哟哟日韩精品| 亚洲精品视频免费观看| 色综合久久综合网欧美综合网| 亚洲裸体在线观看| 91成人在线免费观看| 一片黄亚洲嫩模| 欧美日韩国产成人在线免费| 亚洲国产日日夜夜| 欧美一级欧美一级在线播放| 首页欧美精品中文字幕| 欧美日本免费一区二区三区| 午夜精品久久久久久| 欧美一二三在线| 国产一区在线精品| 国产精品你懂的在线欣赏| 91免费在线视频观看| 午夜私人影院久久久久| 精品国产乱码久久久久久夜甘婷婷| 狠狠狠色丁香婷婷综合激情 | 国产乱对白刺激视频不卡| 精品久久久久一区二区国产| 国产成人综合精品三级| 亚洲色图丝袜美腿| 91精品国产综合久久小美女| 国产在线精品视频| 亚洲精品欧美在线| 日韩欧美电影一区| 99久久婷婷国产综合精品电影| 亚洲一卡二卡三卡四卡五卡| 日韩欧美亚洲一区二区| thepron国产精品| 日韩国产精品久久久| 国产精品麻豆欧美日韩ww| 欧美日韩黄色一区二区| 国产精品69毛片高清亚洲| 亚洲精品免费看| 欧美精品一区二区不卡| 91福利在线播放| 成人性视频网站| 秋霞电影网一区二区| 亚洲色图丝袜美腿| 久久久一区二区三区| 欧美丝袜丝交足nylons图片| 国产999精品久久久久久绿帽| 亚洲第一综合色| 中文字幕日韩一区二区| 欧美成人伊人久久综合网| 91国内精品野花午夜精品| 国产精品77777| 久久精品国产澳门| 午夜精品久久久久久| 亚洲精品乱码久久久久久久久 | 日本特黄久久久高潮| 综合久久一区二区三区| 精品国产乱码91久久久久久网站| 91福利视频网站| 99久久99久久精品免费看蜜桃| 精品综合免费视频观看| 午夜免费久久看| 亚洲国产成人va在线观看天堂| 国产精品乱人伦中文| 日本一区二区久久| 2022国产精品视频| 欧美成人一区二区三区片免费| 在线亚洲精品福利网址导航| 成人av手机在线观看| 国产盗摄女厕一区二区三区 | 亚洲欧美国产毛片在线| 国产精品素人视频| 国产精品丝袜91| 亚洲国产精品ⅴa在线观看| 精品国产亚洲在线| 久久久久久久久99精品| 精品国产成人在线影院| 日韩欧美国产电影| 精品久久国产97色综合| www久久精品| 欧美国产一区二区在线观看 | 一区二区三国产精华液| 亚洲男同性视频| 亚洲综合无码一区二区| 亚洲成人一区在线| 日本在线不卡视频一二三区| 蜜臀av国产精品久久久久| 老司机免费视频一区二区三区| 日本系列欧美系列| 国产自产2019最新不卡| 成人午夜短视频| 91麻豆精品视频| 欧美日韩成人综合| 欧美电影免费观看高清完整版在线| 欧美高清www午色夜在线视频| 91精品国产麻豆国产自产在线 | 国产精品欧美极品| 依依成人精品视频| 日韩综合小视频| 精品一区二区三区视频在线观看| 国产一区二区调教| 成人激情午夜影院| 欧洲精品中文字幕| 欧美成人一区二区| 亚洲天堂2014| 男人的天堂亚洲一区| 精品一二线国产| heyzo一本久久综合| 欧美日韩一区不卡| 精品盗摄一区二区三区| 亚洲精品成a人| 免费人成网站在线观看欧美高清| 成人综合在线网站| 欧美专区在线观看一区| 精品成人佐山爱一区二区| 亚洲人成精品久久久久| 美女视频一区二区| 94-欧美-setu| 精品国产髙清在线看国产毛片| 亚洲女人的天堂| 国产激情一区二区三区四区| 欧美午夜精品久久久久久孕妇| ww亚洲ww在线观看国产| 亚洲国产人成综合网站| 99久久综合国产精品| 日韩免费高清电影| 亚洲第一搞黄网站| 不卡的电影网站|