⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nfxsel.ec

📁 封装了数据库的基本操作
💻 EC
字号:
/*****************************************************************************//*                   Database Public Function For Informix                   *//* ------------------------------------------------------------------------- *//*  Author : Shih Ho                                                         *//*  Date   : March 27, 1998                                                  *//*****************************************************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <memory.h>$include sqlca.h;$include "dblib.h";$include "nfxprv.h";$define	SQLDESC	"sqldesc";/*===========================================================================*//* Public Funciton - DBselect                                                *//*---------------------------------------------------------------------------*/int DBselect( Command, Buffer, SaveBuf )EXEC SQL BEGIN DECLARE SECTION;char *Command;EXEC SQL END DECLARE SECTION;char *Buffer;int  ( *SaveBuf )();{  int r = -1;  EXEC SQL BEGIN DECLARE SECTION;  int c;  int n=0;  char ExeName[8];  char CsrName[8];  char DatName[8];  EXEC SQL END DECLARE SECTION;  if( Command != NULL ){    strcpy( ExeName, "exe_cmd" );    if( ( c = GetFieldCount( Command, ExeName ) ) > 0 ){      strcpy( CsrName, "csr_cmd" );      EXEC SQL DECLARE :CsrName CURSOR FOR :ExeName;      if( ( r = sqlca.sqlcode ) == SQLOK ){        strcpy( DatName, "dat_cmd" );        EXEC SQL ALLOCATE DESCRIPTOR :DatName WITH MAX :c;        if( ( r = sqlca.sqlcode ) == SQLOK ){          EXEC SQL OPEN :CsrName;          if( ( r = sqlca.sqlcode ) == SQLOK ){            EXEC SQL DESCRIBE :ExeName USING SQL DESCRIPTOR :DatName;            if( ( r = sqlca.sqlcode ) == SQLOK ){              if( Buffer == NULL ){                EXEC SQL FETCH :CsrName USING SQL DESCRIPTOR :DatName;                r = sqlca.sqlcode;              }              else{                while( 1 ){                  EXEC SQL FETCH :CsrName USING SQL DESCRIPTOR :DatName;                  if( sqlca.sqlcode == SQLNOTFOUND ){                    if( !n )                      r = -4;                    break;                  }                  n++;                  if( ( r = sqlca.sqlcode ) != SQLOK )                    break;                  if( Buffer == NULL ){                    if( n )                      r = 0;                    break;                  }                  if( ( r = GetDataBuffer( DatName, Buffer ) ) != 0 ){                    r = -5;                    break;                  }                  if( SaveBuf == NULL )                    break;                  if( ( *SaveBuf )( Buffer ) != 0 ){                    r = -3;                    break;                  }                }              }            }            EXEC SQL CLOSE :CsrName;          }          EXEC SQL DEALLOCATE DESCRIPTOR :DatName;        }        EXEC SQL FREE :CsrName;      }      EXEC SQL FREE :ExeName;    }  }  return( r );}/*****************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -