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

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

?? oradbutil.pc

?? 使用Pro*C封裝的訪問數(shù)據(jù)庫的源碼
?? PC
?? 第 1 頁 / 共 2 頁
字號:
			sprintf(tmpField,"%s","NULL");
		}
		else {
                        if (select_dp->T[i] == 3)
                        {
                                /*sprintf(tmpField,"%*d",(int)select_dp->L[i],*(int *)select_dp->V[
i]);*/
                                sprintf(tmpNum, "%d",*(int *)select_dp->V[i]);
                       
                        tmpField = (char*)malloc(sizeof(char)*(strlen(tmpNum)+1));
                        strcpy(tmpField,tmpNum);
                        }
                        else if (select_dp->T[i] == 4 || select_dp->T[i] == 7 )
                        {
                                /*sprintf(tmpField,"%*.2f", (int)select_dp->L[i],*(float *)select_d
p->V[i]);*/
                                sprintf(tmpNum, "%f",*(float *)select_dp->V[i]);
                        tmpField = (char*)malloc(sizeof(char)*(strlen(tmpNum)+1));
                        strcpy(tmpField,tmpNum);

                        }
                        else
                        {
                                /*sprintf(tmpField,"%-*.*s",(int)select_dp->L[i],(int)select_dp->L[
i],select_dp->V[i]);
                                sprintf(tmpField, "%s",LRTrim(select_dp->V[i]));
                                */
                                tmpField = (char*)malloc(sizeof(char)*((int)select_dp->L[i]+1));
                                memset(tmpField,0,select_dp->L[i]+1);
                                strncpy( tmpField, select_dp->V[i], select_dp->L[i] );
                                tmpField = LRTrim(tmpField);
                        }
		}
		tmpRow[i] = tmpField;	
        }/*inner loop end*/
        if ( lRowCount == 0 )
          tmpCtx = (char***)malloc(sizeof(char**)*(lRowCount+1));
        else
          tmpCtx = (char***)realloc(tmpCtx, sizeof(char**)*(lRowCount+1) );
        tmpCtx[lRowCount] = tmpRow;
        lRowCount ++;
    }/*outer loop end*/

end_select_loop:

	retDataSet->lRows = lRowCount;
	retDataSet->content = tmpCtx;

	/* Tell user how many rows processed.
	計算處理了多少條記錄
	printf("\n\n%d row%c processed.\n", sqlca.sqlerrd[2],
	           sqlca.sqlerrd[2] == 1 ? '\0' : 's');
	*/

	/* When done, free the memory allocated for
        pointers in the bind and select descriptors.
	   釋放結(jié)合和選擇描述區(qū)中為指針分配的存儲空間*/
	for (i = 0; i < MAX_ITEMS; i++)
	{
	if (bind_dp->V[i] != (char *) 0)
	{
	    free(bind_dp->V[i]);
	}
	if (select_dp->V[i] != (char *) 0)
	    free(select_dp->V[i]);
	}

	/* Free space used by the descriptors themselves.
	釋放SQLDA所用的空間*/
	sqlclu(bind_dp);
	sqlclu(select_dp);

	EXEC SQL WHENEVER SQLERROR CONTINUE;
	/* Close the cursor. */
	EXEC SQL CLOSE C;
	
	/*提交并釋放數(shù)據(jù)庫*/
	EXEC SQL COMMIT WORK RELEASE;

	return 0;
sql_error:

	for (i = 0; i < MAX_ITEMS; i++)
	{
	if (bind_dp->V[i] != (char *) 0)
	{
	    free(bind_dp->V[i]);
	}
	if (select_dp->V[i] != (char *) 0)
	    free(select_dp->V[i]);
	}
	sqlclu(bind_dp);
	sqlclu(select_dp);

															   
	printf("%s\n",sqlca.sqlerrm.sqlerrmc);
	sprintf(errMsg,"%s",sqlca.sqlerrm.sqlerrmc);
	EXEC SQL WHENEVER SQLERROR CONTINUE;
	EXEC SQL ROLLBACK WORK;
	return -1;
}


void printDataSet(DataSet ds)
{
  int i;
  long l;

  printf( "\nDATA SET \n" );
  printf( "**** Field Info ****\n\n" );
  for ( i = 0 ; i< ds.iCols; i++ )
  {
   if( i>0 )
    printf( "," );
   printf( "%s", ds.fields[i] );
  }

  printf( "\n\n**** Content Info ****\n\n" );

  for ( l=0; l<ds.lRows; l++ )
  {
   for( i=0; i<ds.iCols; i++ )
   {
     if( i>0 )
       printf(",");
     printf("%s", ds.content[l][i] );
   }
   printf("\n");
  }

}

void freeDataSet(DataSet ds )
{
  long l;
  int i;

  /*free content area*/
  if (  ds.content!=NULL )
  {
  for ( l=0; l<ds.lRows; l++ )
  {
   if( ds.content[l]!=NULL )
   {
   for( i=0; i<ds.iCols; i++ )
   {
     if( ds.content[l][i]!=NULL )
       free(ds.content[l][i]);
     ds.content[l][i] = NULL;
   }
   free(ds.content[l]);
   ds.content[l] = NULL;
   }
  }
  free(ds.content);
  ds.content = NULL;
  }

  /*free fields area*/
  if( ds.fields!=NULL )
  {
  for( i=0; i<ds.iCols; i++ )
  {
   if( ds.fields[i]!=NULL )
     free(ds.fields[i]);
     ds.fields[i]=NULL;
  }
  free(ds.fields);
  ds.fields = NULL;
  }
  ds.lRows=0;
  ds.iCols=0;
}

int getColNoByName(DataSet ds, char* colName)
{
  int i=0;
  char tmpColName[60];
  char tmpDotColName[60];
  
  if ( colName==NULL )
   return -1;
  
  if( strlen(colName)>50 )
    return -1;
    
  strcpy( tmpColName, colName );
  upperStr( tmpColName );
  sprintf(tmpDotColName, ".%s", tmpColName );
   
  for( ; i<ds.iCols; i++ )
  {
    if( ds.fields[i]==NULL ) 
      return -1;
    if( strcmp( tmpColName, ds.fields[i] )==0 || strstr(ds.fields[i],tmpDotColName)!=NULL )
      return i;
  } 
  
  return -1;
}

char* elementAt(DataSet ds, long lRow, char* colName)
{
  int i=0;
  
  /*行越界*/
  if( ds.lRows<lRow )
    return NULL;
  
  /*列越界*/
  i = getColNoByName( ds, colName );
  if( i==-1 )
   return NULL;
  
  if( ds.content==NULL )
    return NULL;
  if( ds.content[lRow]==NULL )
    return NULL;
    
  return ds.content[lRow][i];
}

int setElementAt(DataSet ds, long lRow, int iCol, char* value)
{
   if( ds.lRows<lRow || ds.iCols<iCol )
     return -1;
     
   if( ds.content==NULL )
     return -1;
   if( ds.content[lRow]==NULL )
     return -1;
   
   if( value==NULL )
   {
     if( ds.content[lRow][iCol]!=NULL )
     {
       free(ds.content[lRow][iCol]);
       ds.content[lRow][iCol] = NULL;
     }
     
     return 0;
   } 
   
   if( ds.content[lRow][iCol]==NULL ){
     ds.content[lRow][iCol] = malloc(sizeof(char)*(strlen(value)+1));
     strcpy(ds.content[lRow][iCol], value);
   }else
   {
     ds.content[lRow][iCol] = realloc(ds.content[lRow][iCol], sizeof(char)*(strlen(value)+1));
     strcpy(ds.content[lRow][iCol], value);
   }
   
   return 0;
}

main(argc, argv)
int argc;
char *argv[];
{
 DataSet ds;
 char errMsg[2048];
 if ( argc<2 )
 {
    printf("Usage OraDBUtil SQL \n");
    exit(0);
 }
 /*執(zhí)行查詢*/
 if( strncmp("SELECT", argv[1], 6 )==0 )
 {
   if( execQuery(argv[1], &ds, errMsg)!= 0 )
   {
     printf("err:%s", errMsg );
     exit(1);
   }
   /*打印查詢結(jié)果*/  
   printDataSet(ds);
   /*根據(jù)列名查找 列數(shù)*/
   printf("the col: %s 's colNo is: %d\n","menu_title", getColNoByName(ds, "menu_title" ) );
   /*根據(jù)行號,列名查找值*/
   printf("the rowNo: %d colName: %s 's value is: %s\n", 0,"menu_title", elementAt(ds, 0, "menu_title" ) );
   /*設(shè)置某一單元的值*/
   setElementAt(ds, 0, 6, "WISEKING");
   /*根據(jù)行號,列名查找值*/
   printf("after set, the rowNo: %d colNo: %d 's value is: %s\n", 0, 6 , ds.content[0][6] );
   
   /*釋放結(jié)果集*/
   freeDataSet(ds);
 }else
  execUpdate(argv[1]); /*執(zhí)行變更,包括INSERT,UPDATE,DELETE*/
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米色一区二区三区四区| 久久嫩草精品久久久精品一| 国产精品中文字幕一区二区三区| 亚洲精品国产视频| ...中文天堂在线一区| 久久精品一二三| 欧美一卡2卡三卡4卡5免费| 欧美一区二区三区喷汁尤物| 91精品国产综合久久久久久久| 777色狠狠一区二区三区| 精品国产不卡一区二区三区| 欧美高清在线视频| 亚洲一区二区三区四区的| 亚洲成人黄色影院| 国产一区二区三区精品欧美日韩一区二区三区 | 色综合久久久久网| 欧美一级理论片| 国产精品免费视频网站| 亚洲一区二区精品视频| 蜜桃精品在线观看| 播五月开心婷婷综合| 在线观看欧美黄色| 欧美日本精品一区二区三区| 精品少妇一区二区三区 | 成人高清伦理免费影院在线观看| 99re66热这里只有精品3直播| 欧美一区二区三区在线电影| 亚洲国产精品二十页| 一区二区欧美国产| 国产福利一区二区三区视频在线| 99久久精品一区二区| 久久久久久久综合日本| 午夜精品123| 91蝌蚪国产九色| 欧美国产日韩一二三区| 国产精品系列在线观看| 日韩免费性生活视频播放| 亚洲人妖av一区二区| 高清免费成人av| 久久久久久久久久久久电影| 日本不卡高清视频| 日韩丝袜情趣美女图片| 亚洲国产综合色| 日本大香伊一区二区三区| 国产精品午夜免费| 一本到不卡免费一区二区| 国产欧美一区二区在线观看| 国产一区二区三区高清播放| 久久亚洲一区二区三区明星换脸| 国产一区二区三区最好精华液| 欧美va日韩va| 成人永久免费视频| 自拍av一区二区三区| 91麻豆精东视频| 亚洲综合视频在线| 91.com在线观看| 国产传媒一区在线| 亚洲欧美福利一区二区| 欧美三级韩国三级日本一级| 亚洲18影院在线观看| 日韩一区二区三区在线视频| 国产精品99久| 日韩av中文在线观看| 成人一区二区三区视频在线观看| 久久久国产一区二区三区四区小说| 国产揄拍国内精品对白| 国产喂奶挤奶一区二区三区| 欧美影视一区在线| 国产成人亚洲精品青草天美| 亚洲天堂福利av| 日韩精品专区在线影院观看| 色哟哟日韩精品| 国产成人精品午夜视频免费| 亚洲成人资源在线| 亚洲国产激情av| 精品精品国产高清一毛片一天堂| www.成人网.com| 国产福利一区二区三区视频| 男男视频亚洲欧美| 亚洲大片免费看| 亚洲精品免费在线播放| 精品国产一区二区三区久久久蜜月| 色狠狠综合天天综合综合| 国产成人免费视频网站 | av一区二区三区| 久久99精品视频| 裸体一区二区三区| 日韩精品1区2区3区| 首页国产欧美日韩丝袜| 日韩精彩视频在线观看| 日韩av电影免费观看高清完整版在线观看| 国产精品久久久久精k8| 国产精品久久久久毛片软件| 国产精品丝袜91| 亚洲女子a中天字幕| 亚洲亚洲精品在线观看| 久久99国产精品免费网站| 国产精品1区2区| 91玉足脚交白嫩脚丫在线播放| aaa亚洲精品| 欧美日韩国产综合一区二区| 欧美成人aa大片| 中文字幕一区视频| 男女性色大片免费观看一区二区| 精品一区二区三区久久久| 成人国产电影网| 欧美肥妇free| 亚洲人吸女人奶水| 奇米影视一区二区三区小说| 高清beeg欧美| 日韩一区二区三免费高清| 国产精品日韩成人| 麻豆国产精品一区二区三区 | 精品国精品自拍自在线| 国产精品国产三级国产a| 日韩电影在线免费看| 99久久精品情趣| 久久久久久电影| 日韩成人av影视| 91视频观看免费| 久久精品视频在线免费观看 | 免费看精品久久片| 国产成人精品www牛牛影视| 7777精品伊人久久久大香线蕉 | 欧美午夜精品理论片a级按摩| 久久久综合精品| 极品少妇xxxx偷拍精品少妇| 91成人网在线| 亚洲视频在线一区观看| 粉嫩av一区二区三区| 久久久www成人免费无遮挡大片| 亚洲欧美日韩国产综合| 日本成人中文字幕在线视频 | 中文字幕av一区二区三区| 蜜桃av一区二区三区电影| 欧美日韩中文国产| 亚洲第一久久影院| 欧美绝品在线观看成人午夜影视| 亚洲天堂精品视频| 欧洲国内综合视频| 秋霞电影一区二区| 精品国产露脸精彩对白| 粉嫩绯色av一区二区在线观看| 国产精品进线69影院| av在线不卡网| 日韩电影在线免费| 国产欧美一区二区在线| 99国产精品久久久久久久久久久 | 99re在线视频这里只有精品| 亚洲乱码国产乱码精品精可以看| 欧美体内she精高潮| 亚洲成人免费电影| 国产亚洲一区二区三区四区| 成人av先锋影音| 美女mm1313爽爽久久久蜜臀| 欧美国产精品中文字幕| 在线播放91灌醉迷j高跟美女 | 久久久精品中文字幕麻豆发布| 99热国产精品| 精品中文字幕一区二区| 亚洲乱码国产乱码精品精98午夜| 欧美一级黄色片| 91成人在线观看喷潮| 国产成人精品在线看| 六月丁香婷婷久久| 亚洲伊人伊色伊影伊综合网| 日本一区二区三区国色天香| 日韩限制级电影在线观看| 91毛片在线观看| av成人免费在线观看| 国产黄人亚洲片| 蜜桃视频在线观看一区| 亚洲国产视频一区二区| 亚洲另类春色国产| 亚洲欧美一区二区久久| 亚洲男帅同性gay1069| 成人免费一区二区三区视频| 69久久99精品久久久久婷婷| 精品视频一区二区三区免费| av资源站一区| 色综合久久66| 欧美欧美午夜aⅴ在线观看| 在线看日韩精品电影| 在线观看视频一区二区欧美日韩| 成人黄动漫网站免费app| 成人av动漫网站| 91久久精品一区二区| 91精品国产福利| 久久日韩粉嫩一区二区三区| 国产三级三级三级精品8ⅰ区| 久久人人爽人人爽| 中文字幕制服丝袜一区二区三区 | 国产成人av在线影院| 92国产精品观看| 欧美在线视频全部完| 在线成人午夜影院| 一区视频在线播放| 蜜臀av一区二区在线观看 | 亚洲精品免费在线观看| 麻豆一区二区三|