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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? t0013.c

?? unix上的TDS協(xié)議實(shí)現(xiàn)
?? C
字號(hào):
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
#ifdef _WIN32
#define DBNTWIN32
#include <windows.h>
#endif
#include <sqlfront.h>
#include <sqldb.h>

#include "common.h"




static char  software_version[]   = "$Id: t0013.c,v 1.4 2002/08/31 06:32:44 freddy77 Exp $";
static void *no_unused_var_warn[] = {software_version,
                                     no_unused_var_warn};
#define BLOB_BLOCK_SIZE 4096

int failed = 0;

char *testargs[] = { "", "data.bin", "t0013.out" };

int main(int argc, char *argv[])
{
   const int   rows_to_add = 3;
   LOGINREC   *login;
   DBPROCESS   *dbproc;
   int         i;
   char        teststr[1024];
   DBINT       testint;
   FILE				*fp;
   long				result, isiz;
   char				*blob, *rblob;
   unsigned char *textPtr, *timeStamp;
   char				objname[256];
   char				sqlCmd[256];
   char				rbuf[BLOB_BLOCK_SIZE];
   long				numread, numwritten, numtowrite;
   BOOL				readFirstImage;
   char   cmd[1024];

#ifdef __FreeBSD__
   /*
    * Options for malloc   A- all warnings are fatal, J- init memory to 0xD0,
    * R- always move memory block on a realloc.
    */
   extern char *malloc_options;
   malloc_options = "AJR";
#endif

#ifndef _WIN32
   tdsdump_open(NULL);
#endif

   read_login_info();
   fprintf(stdout, "Start\n");
   dbinit();

   dberrhandle( syb_err_handler );
   dbmsghandle( syb_msg_handler );

   fprintf(stdout, "About to logon\n");

   login = dblogin();
   DBSETLPWD(login,PASSWORD);
   DBSETLUSER(login,USER);
   DBSETLAPP(login,"t0013");
   
   fprintf(stdout, "About to open, PASSWORD: %s, USER: %s, SERVER: %s\n",
   	"","",""); /* PASSWORD, USER, SERVER); */

   dbproc = dbopen(login, SERVER);
   if (strlen(DATABASE)) {
		 dbuse(dbproc,DATABASE);
	 }
   fprintf(stdout, "After logon\n");

  fprintf(stdout, "About to read binary input file\n");

  if (argc == 1) {
	  argv = testargs;
	  argc = 3;
  }  
  if (argc < 3) {
	 fprintf(stderr, "Usage: %s infile outfile\n", argv[0]);
	 return 1;
  }

  if ((fp = fopen(argv[1], "rb")) == NULL) {
	 fprintf(stderr, "Cannot open input file: %s\n", argv[1]);
	 return 2;
  }
  result = fseek( fp, 0, SEEK_END);
  isiz = ftell(fp);
  result = fseek( fp, 0, SEEK_SET);
		      
  blob = (char *)malloc(isiz);
  fread((void *)blob, isiz, 1, fp);
  fclose (fp);

  fprintf(stdout, "Dropping table\n");
  dbcmd(dbproc, "drop table #dblib0013");
  dbsqlexec(dbproc);
  while (dbresults(dbproc)!=NO_MORE_RESULTS)
  {
      /* nop */
  }

   fprintf(stdout, "creating table\n");
   dbcmd(dbproc,
         "create table #dblib0013 (i int not null, PigTure image not null)");
   dbsqlexec(dbproc);
   while (dbresults(dbproc)!=NO_MORE_RESULTS)
   {
      /* nop */
   }


   fprintf(stdout, "insert\n");

   sprintf(cmd, "insert into #dblib0013 values (1, '')");
   fprintf(stdout, "%s\n",cmd);
   dbcmd(dbproc, cmd);
   dbsqlexec(dbproc);
   while (dbresults(dbproc)!=NO_MORE_RESULTS)
   {
      /* nop */
   }

   sprintf(sqlCmd, "SELECT PigTure FROM #dblib0013 WHERE i = 1");
   dbcmd(dbproc, sqlCmd); 
   dbsqlexec(dbproc);			 
   if (dbresults(dbproc) != SUCCEED) {
   	fprintf(stderr, "Error inserting blob\n");
   	return 4;
   }
   	
   while ((result = dbnextrow(dbproc)) != NO_MORE_ROWS) {
   	result = REG_ROW ;
   	result = DBTXPLEN;
   	strcpy(objname, "#dblib0013.PigTure");
   	textPtr = dbtxptr(dbproc, 1);
   	timeStamp = dbtxtimestamp(dbproc, 1);
   }
   
   /* Use #ifdef if you want to test dbmoretext mode (needed for 16-bit apps)
      Use #ifndef for big buffer version (32-bit) */
#ifndef DBWRITE_OK_FOR_OVER_4K
   if (dbwritetext(dbproc, objname, textPtr, DBTXPLEN, timeStamp, FALSE, isiz, blob) != SUCCEED)
   return 5;
#else
   if (dbwritetext(dbproc, objname, textPtr, DBTXPLEN, timeStamp, FALSE, isiz, NULL) != SUCCEED)
      return 15;
   dbsqlok(dbproc);
   dbresults(dbproc);

   numtowrite = 0;
   /* Send the update value in chunks. */
   for (numwritten = 0; numwritten < isiz; numwritten += numtowrite) {
      numtowrite = (isiz - numwritten);
      if (numtowrite > BLOB_BLOCK_SIZE)
         numtowrite = BLOB_BLOCK_SIZE;
         dbmoretext(dbproc, (DBINT)numtowrite, blob + numwritten);
      }
      dbsqlok(dbproc);
      while (dbresults(dbproc) != NO_MORE_RESULTS);
   }
#endif

   fprintf(stdout, "select\n");

   dbcmd(dbproc,"select * from #dblib0013 order by i");
   dbsqlexec(dbproc);

   if (dbresults(dbproc)!=SUCCEED)
   {
      failed = 1;
      fprintf(stdout, "Was expecting a result set.");
      exit(1);
   }

   for (i=1;i<=dbnumcols(dbproc);i++)
   {
      printf ("col %d is %s\n",i,dbcolname(dbproc,i));
   }

   if (SUCCEED != dbbind(dbproc,1,INTBIND,-1,(BYTE *) &testint))
   {
      failed = 1;
      fprintf(stderr, "Had problem with bind\n");
      abort();
   }

   if (REG_ROW != dbnextrow(dbproc))
   {
       failed = 1;
       fprintf(stderr, "Failed.  Expected a row\n");
       exit(1);
   }
   if (testint!=1)
   {
       failed = 1;
       fprintf(stderr, "Failed.  Expected i to be %d, was %d\n", i,
               (int)testint);
       abort();
   }
   dbnextrow(dbproc);

   /* get the image */
   strcpy(sqlCmd, "SET TEXTSIZE 2147483647");
   dbcmd(dbproc, sqlCmd); 
   dbsqlexec(dbproc);			 
   dbresults(dbproc); 
			
   fprintf(stdout, "select 2\n");

   sprintf(sqlCmd, "SELECT PigTure FROM #dblib0013 WHERE i = 1");
   dbcmd(dbproc, sqlCmd); 
   dbsqlexec(dbproc);			 
   if (dbresults(dbproc) != SUCCEED) {
	fprintf(stderr, "Error extracting blob\n");
	return 6;
   }

   numread = 0;
   rblob = NULL;
   readFirstImage = FALSE;
   while ((result = dbreadtext(dbproc, rbuf, BLOB_BLOCK_SIZE)) != NO_MORE_ROWS)
   {
       if (result == 0) /* this indicates end of row */
       {
          readFirstImage = TRUE;
       } else {
          rblob = realloc(rblob, result + numread);
          memcpy((void *)(rblob + numread), (void *)rbuf, result);
					numread += result;
       }
   }

   printf("Saving first blob data row to file: %s\n", argv[2]);
   if ((fp = fopen(argv[2], "wb")) == NULL) {
       fprintf(stderr, "Unable to open output file: %s\n", argv[2]);
       return 3;
   }
   result = fwrite((void *)rblob, numread, 1, fp);
   fclose (fp);

   printf("Read blob data row %d --> %s %d byte comparison\n", 
	(int)testint, (memcmp(blob, rblob, numread)) ? "failed" 
        : "PASSED", numread);
   free(rblob);

   if (dbnextrow(dbproc)!=NO_MORE_ROWS)
   {
      failed = 1;
      fprintf(stderr, "Was expecting no more rows\n");
      exit(1);
   }

   dbexit();

   fprintf(stdout, "dblib %s on %s\n", 
           (failed?"failed!":"okay"),
           __FILE__);
   return failed ? 1 : 0; 
}





?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久一区二区蜜臀| 国产精品日韩成人| 99re成人精品视频| 麻豆精品视频在线观看免费| 亚洲综合色自拍一区| 国产日韩精品一区| 欧美一区国产二区| 欧美视频中文字幕| 97成人超碰视| 成人午夜电影久久影院| 久久福利视频一区二区| 午夜久久福利影院| 亚洲激情av在线| 日韩一区在线看| 日本一区二区三区国色天香| 精品免费99久久| 91精品国产免费| 欧美三级日韩三级国产三级| 91美女精品福利| k8久久久一区二区三区| 国产91清纯白嫩初高中在线观看 | 欧美性感一类影片在线播放| 国产激情偷乱视频一区二区三区| 视频在线观看一区二区三区| 亚洲日本电影在线| 国产精品久久精品日日| 欧美激情一区在线| 欧美国产精品一区二区| 国产日本欧洲亚洲| 亚洲国产精品av| 国产精品色噜噜| 国产精品不卡一区二区三区| 欧美激情一区二区三区四区| 国产三级三级三级精品8ⅰ区| 精品久久国产字幕高潮| 久久影院电视剧免费观看| 欧美成人aa大片| 久久综合久久鬼色| 久久综合色综合88| 国产欧美一区二区三区沐欲| 欧美高清在线精品一区| 国产精品美女久久久久久| 日本一区二区三区高清不卡| 国产精品色呦呦| 中文字幕亚洲精品在线观看| 综合电影一区二区三区| 亚洲最新视频在线观看| 亚洲高清在线精品| 视频一区二区国产| 老司机免费视频一区二区| 激情图片小说一区| 国产丶欧美丶日本不卡视频| 99热99精品| 欧美性猛交一区二区三区精品| 欧美性videosxxxxx| 欧美一级午夜免费电影| 久久精品人人做人人爽97| 成人欧美一区二区三区小说| 亚洲精品美国一| 日本欧美一区二区| 国产69精品久久久久777| 色视频一区二区| 日韩亚洲欧美高清| 亚洲国产精品精华液ab| 亚洲尤物视频在线| 精品一区二区综合| 99国产精品久| 91麻豆精品国产无毒不卡在线观看 | 久久精品免费观看| 成人黄页毛片网站| 欧美日韩不卡一区二区| 久久日一线二线三线suv| 亚洲图片另类小说| 免费成人在线观看视频| 成人免费高清视频| 欧美夫妻性生活| 国产欧美日韩另类视频免费观看| 亚洲人成网站色在线观看| 免费看日韩精品| 99久久综合精品| 欧美一区二区三区性视频| 中文天堂在线一区| 日本欧洲一区二区| heyzo一本久久综合| 这里是久久伊人| 亚洲欧美日韩综合aⅴ视频| 日韩不卡在线观看日韩不卡视频| 国产一区二区三区电影在线观看 | 寂寞少妇一区二区三区| 一本色道a无线码一区v| 欧美精品一区二区三区视频| 夜夜操天天操亚洲| 成人一级片在线观看| 91精品国产综合久久香蕉的特点| 国产精品污网站| 蜜臀久久99精品久久久久宅男 | 亚洲一区免费观看| 高清av一区二区| 日韩欧美电影一区| 亚洲18女电影在线观看| 成人短视频下载| 久久久久久久综合日本| 视频在线观看一区| 欧美性高清videossexo| 亚洲欧洲国产日韩| 成人免费看的视频| 久久久久久久久99精品| 日韩国产在线观看一区| 色婷婷狠狠综合| 亚洲欧美综合色| 成人国产精品免费网站| 久久先锋资源网| 韩国毛片一区二区三区| 欧美一区二区三区视频| 视频在线观看一区| 欧美精品在线视频| 亚洲成年人网站在线观看| 在线看一区二区| 亚洲精选免费视频| 91丨九色丨尤物| 国产精品美女久久久久av爽李琼| 国产在线精品一区二区三区不卡 | 99精品久久只有精品| 国产精品五月天| 成人国产免费视频| 国产精品伦一区| 成人一级片网址| 亚洲国产精品av| 波多野结衣精品在线| 中文字幕久久午夜不卡| 成人黄色a**站在线观看| 中文字幕一区二区三区蜜月| 成人av电影在线观看| 国产精品欧美精品| 成人av资源网站| 综合网在线视频| 欧洲av在线精品| 亚洲bdsm女犯bdsm网站| 日韩一区二区三区视频在线| 免费成人av在线播放| 精品美女被调教视频大全网站| 男女激情视频一区| 精品国产免费人成电影在线观看四季| 麻豆一区二区在线| 精品久久国产老人久久综合| 国产在线不卡视频| 国产精品久久久久久久久免费桃花 | 天天操天天综合网| 日韩一级片网站| 国产高清不卡二三区| 国产精品久久久久久久久免费丝袜| 97久久人人超碰| 亚州成人在线电影| 久久综合网色—综合色88| 大白屁股一区二区视频| 亚洲精品成人悠悠色影视| 538在线一区二区精品国产| 麻豆精品视频在线观看视频| 中文字幕欧美日韩一区| 欧美性猛交xxxx乱大交退制版| 亚洲不卡av一区二区三区| 亚洲精品一区二区三区精华液| 成人一区二区三区在线观看| 亚洲国产毛片aaaaa无费看| 日韩一区和二区| av在线免费不卡| 丝袜亚洲另类丝袜在线| 日本一区二区视频在线观看| 欧美日韩中文字幕精品| 国产一区二区三区在线观看免费| 亚洲欧美日韩一区二区三区在线观看| 欧美日韩视频在线第一区 | 亚洲色图欧美激情| 91.成人天堂一区| 国产a级毛片一区| 亚洲成人av福利| 国产精品水嫩水嫩| 日韩视频一区二区在线观看| av在线不卡观看免费观看| 日韩经典一区二区| 中文字幕一区二区三区色视频| 91精品综合久久久久久| 丁香网亚洲国际| 青青草成人在线观看| 亚洲摸摸操操av| 久久久久9999亚洲精品| 欧美男同性恋视频网站| 99热99精品| 国产制服丝袜一区| 亚洲香蕉伊在人在线观| 国产精品嫩草99a| 精品久久久网站| 欧美日韩国产综合一区二区 | 国产一级精品在线| 视频一区在线视频| 一区二区视频在线看| 国产视频一区在线播放| 日韩一二在线观看| 欧美日韩高清一区二区三区| 97精品视频在线观看自产线路二|