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

📄 picodbapi.java

📁 picoSQL is a SQL-based, multi-user, client/server RDBMS, released under the GPL
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
      );      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);   }   public void SQLExecDirect(OdbcStatement HSTMT, String szSqlStr)      throws SQLException, SQLWarning {      int hStmt = HSTMT.getHSTMT();      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLExecDirect), hStmt=" + hStmt + ", szSqlStr=" + szSqlStr);      server.SQLExecDirect(returnCodeHolder, hStmt, szSqlStr, SQL_NTS);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);   }   public boolean SQLExecute(OdbcStatement HSTMT) throws SQLException, SQLWarning {      int hStmt = HSTMT.getHSTMT();      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLExecute), hStmt=" + hStmt);      server.SQLExecute(returnCodeHolder, hStmt);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      return true;   }   public boolean SQLExecuteParams(OdbcStatement HSTMT, Vector params)           throws SQLException, SQLWarning {      int hStmt = HSTMT.getHSTMT();      int nParams;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLExecuteParams), hStmt=" + hStmt);      if (params != null) {         for (nParams = 1; nParams < params.size(); nParams++)            if (params.get(nParams) == null)               break;         nParams--;      } else         nParams = 0;             Param_item parSeq[] = new Param_item[nParams];      PicoBoundParam par;      for (int i = 0; i < nParams; i++) {         par = (PicoBoundParam) params.get(i + 1);         parSeq[i] = new Param_item ();         parSeq[i].fParamType = par.fInputOutput;	 parSeq[i].fSqlType = par.fSqlType;	 parSeq[i].ibScale = (short) par.ibScale;	 parSeq[i].rgbValue = orb.create_any();         switch (par.fSqlType) {         case OdbcDef.SQL_TYPE_NULL:             parSeq[i].fSqlType = OdbcDef.SQL_CHAR;            parSeq[i].fCType = OdbcDef.SQL_C_CHAR;	    parSeq[i].cbColDef = 1;	    parSeq[i].cbValueMax = 1;            parSeq[i].rgbValue.insert_string("");	    parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            break;         case OdbcDef.SQL_CHAR:         case OdbcDef.SQL_VARCHAR:         case OdbcDef.SQL_LONGVARCHAR:          case OdbcDef.SQL_NUMERIC:         case OdbcDef.SQL_DECIMAL:         case OdbcDef.SQL_BIGINT:             parSeq[i].fCType = OdbcDef.SQL_C_CHAR;            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 1;	       parSeq[i].cbValueMax = 1;               parSeq[i].rgbValue.insert_string("");	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = par.rgbValue.toString().length();	       parSeq[i].cbValueMax = parSeq[i].cbColDef;               parSeq[i].rgbValue.insert_string(par.rgbValue.toString());	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_BIT:             parSeq[i].fCType = OdbcDef.SQL_C_BIT;            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 1;	       parSeq[i].cbValueMax = 1;               parSeq[i].rgbValue.insert_octet((byte)0);	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = 1;	       parSeq[i].cbValueMax = 1;               parSeq[i].rgbValue.insert_octet(                       (byte)(((Boolean)par.rgbValue).booleanValue() ? 1 : 0));	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_TINYINT:             parSeq[i].fCType = OdbcDef.SQL_C_CHAR;            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 1;	       parSeq[i].cbValueMax = 1;               parSeq[i].rgbValue.insert_octet((byte)0);	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = 1;	       parSeq[i].cbValueMax = 1;               parSeq[i].rgbValue.insert_octet(                       (byte)((Byte)par.rgbValue).byteValue());	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_SMALLINT:            parSeq[i].fCType = OdbcDef.SQL_C_SHORT;            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 2;	       parSeq[i].cbValueMax = 2;               parSeq[i].rgbValue.insert_short((short)0);	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = 2;	       parSeq[i].cbValueMax = 2;               parSeq[i].rgbValue.insert_short(                                         ((Integer)par.rgbValue).shortValue());	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_INTEGER:            parSeq[i].fCType = OdbcDef.SQL_C_LONG;            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 4;	       parSeq[i].cbValueMax = 4;               parSeq[i].rgbValue.insert_long(0);	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = 4;	       parSeq[i].cbValueMax = 4;               parSeq[i].rgbValue.insert_long(                                        ((Integer)par.rgbValue).intValue());	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_REAL:            parSeq[i].fCType = OdbcDef.SQL_C_FLOAT;            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 4;	       parSeq[i].cbValueMax = 4;               parSeq[i].rgbValue.insert_float(0F);	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = 4;	       parSeq[i].cbValueMax = 4;               parSeq[i].rgbValue.insert_float(                                        ((Float)par.rgbValue).floatValue());	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_FLOAT:         case OdbcDef.SQL_DOUBLE:            parSeq[i].fCType = OdbcDef.SQL_C_DOUBLE;            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 8;	       parSeq[i].cbValueMax = 8;               parSeq[i].rgbValue.insert_double(0D);	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = 8;	       parSeq[i].cbValueMax = 8;               parSeq[i].rgbValue.insert_double(                                        ((Double)par.rgbValue).doubleValue());	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_BINARY:          case OdbcDef.SQL_LONGVARBINARY:          case OdbcDef.SQL_VARBINARY:            parSeq[i].fCType = OdbcDef.SQL_C_BINARY;            OctetSequenceHelper.insert (parSeq[i].rgbValue,                                                       (byte[])(par.rgbValue));            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 1;	       parSeq[i].cbValueMax = 1;	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = ((byte[])(par.rgbValue)).length;	       parSeq[i].cbValueMax = 0x7FFFFFFF;	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         case OdbcDef.SQL_C_DATE:         case OdbcDef.SQL_C_TIME:         case OdbcDef.SQL_C_TIMESTAMP:            if (par.rgbValue != null) {               Timestamp_struct ts = new Timestamp_struct();               Calendar cal = par.cal == null ? Calendar.getInstance():par.cal;               cal.setTime ((java.util.Date) par.rgbValue);               ts.year = (short) cal.get(Calendar.YEAR);               ts.month = (short) (cal.get(Calendar.MONTH) + 1);               ts.day = (short) cal.get(Calendar.DAY_OF_MONTH);               ts.hour = (short) cal.get(Calendar.HOUR_OF_DAY);               ts.minute = (short) cal.get(Calendar.MINUTE);               ts.second = (short) cal.get(Calendar.SECOND);               ts.fraction = (short) cal.get(Calendar.MILLISECOND);               parSeq[i].fCType = OdbcDef.SQL_TIMESTAMP;               parSeq[i].fSqlType = OdbcDef.SQL_TIMESTAMP;               Timestamp_structHelper.insert (parSeq[i].rgbValue, ts);            }            if (par.rgbValue == null) {	       parSeq[i].cbColDef = 1;	       parSeq[i].cbValueMax = 1;               parSeq[i].fCType = OdbcDef.SQL_TIMESTAMP;               parSeq[i].fSqlType = OdbcDef.SQL_TIMESTAMP;	       parSeq[i].pcbValue = OdbcDef.SQL_NULL_DATA;            } else {	       parSeq[i].cbColDef = 16;	       parSeq[i].cbValueMax = 16;	       parSeq[i].pcbValue = parSeq[i].cbColDef;            }            break;         default:            throw new SQLException("Unknown SQL Type in SQLEcecuteParams=" +                                    par.fSqlType);         }      }      server.SQLExecuteParams(returnCodeHolder, hStmt, parSeq);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      return true;   }   public boolean SQLFetch(OdbcStatement HSTMT) throws SQLException, SQLWarning {      int hStmt = HSTMT.getHSTMT();      boolean Return = true;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLFetch), hStmt=" + hStmt);      IntHolder numCols = new IntHolder();      server.SQLFetch(returnCodeHolder, hStmt, numCols);      if (returnCodeHolder.value == OdbcDef.SQL_NO_DATA_FOUND)         Return = false;      else if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLFetch), ret=" + returnCodeHolder.value + "col=" + numCols.value);      return Return;   }   public boolean SQLFetch(OdbcStatement HSTMT, int nCol[]) throws SQLException, SQLWarning {      int hStmt = HSTMT.getHSTMT();      boolean Return = true;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLFetch), hStmt=" + hStmt);      IntHolder numCols = new IntHolder();      server.SQLFetch(returnCodeHolder, hStmt, numCols);      if (returnCodeHolder.value == OdbcDef.SQL_NO_DATA_FOUND)         Return = false;      else if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      nCol[0] = numCols.value;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLFetch), ret=" + returnCodeHolder.value + "col=" + numCols.value);      return Return;   }   public int SQLGetConnectOption(OdbcConnection HDBC, short fOption)      throws SQLException   {      int hDbc = HDBC.getHDBC();      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetConnectOption), hDbc=" + hDbc + ", fOption=" + fOption);      IntHolder optionValueHolder = new IntHolder();      StringHolder optionStringValueHolder = new StringHolder();      server.SQLGetConnectOption(returnCodeHolder, hDbc, fOption, optionStringValueHolder, optionValueHolder);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, hDbc, 0);      if(DriverManager.getLogWriter() != null)         DriverManager.println("option value (int)=" + optionValueHolder.value);      return optionValueHolder.value;   }   public String SQLGetConnectOptionString(OdbcConnection HDBC, short fOption)      throws SQLException

⌨️ 快捷键说明

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