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

📄 picodbapi.java

📁 picoSQL is a SQL-based, multi-user, client/server RDBMS, released under the GPL
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
   {      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)=" + optionStringValueHolder.value.trim());      return optionStringValueHolder.value.trim();   }   public String SQLGetCursorName(OdbcStatement HSTMT)      throws SQLException, PicoSQLWarning   {      int hStmt = HSTMT.getHSTMT();      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetCursorName), hStmt=" + hStmt);      StringHolder cursorNameHolder = new StringHolder();      ShortHolder cursorNameLengthHolder = new ShortHolder();      server.SQLGetCursorName(returnCodeHolder, hStmt, cursorNameHolder, (short)256, cursorNameLengthHolder);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      String cursorName = cursorNameHolder.value.trim();      if(DriverManager.getLogWriter() != null)         DriverManager.println("value=" + cursorName);      return cursorName;   }   public java.lang.Object[] SQLGetAllData (OdbcStatement HSTMT,                                            PicoBoundCol attr[])                                  throws SQLException, PicoSQLWarning {      int hStmt = HSTMT.getHSTMT();      AnySequenceHolder dataHolder = new AnySequenceHolder();      CommAttr_seqHolder attrHolder = new CommAttr_seqHolder();      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetAllData), hStmt=" + hStmt);      server.SQLGetAllData(returnCodeHolder,hStmt,dataHolder,attrHolder);      if (returnCodeHolder.value == OdbcDef.SQL_ERROR)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if (DriverManager.getLogWriter() != null)         DriverManager.println("value=" + dataHolder);      java.lang.Object Return[]=new java.lang.Object[dataHolder.value.length];      for (int i = 0; i < dataHolder.value.length; i++) {         attr[i].setLength (attrHolder.value[i].length);         attr[i].setType (OdbcDef.odbcTypeToJdbc(attrHolder.value[i].type));         attr[i].setPrecision (attrHolder.value[i].precision);         attr[i].setScale (attrHolder.value[i].scale);         switch (dataHolder.value[i].type().kind().value()) {         case TCKind._tk_short:            Return[i] = new Short (dataHolder.value[i].extract_short());            break;         case TCKind._tk_ushort:            Return[i] = new Short (dataHolder.value[i].extract_ushort());            break;         case TCKind._tk_long:            Return[i] = new Integer (dataHolder.value[i].extract_long());            break;         case TCKind._tk_ulong:            Return[i] = new Integer (dataHolder.value[i].extract_ulong());            break;         case TCKind._tk_float:            Return[i] = new Float (dataHolder.value[i].extract_float());            break;         case TCKind._tk_double:            Return[i] = new Double (dataHolder.value[i].extract_double());            break;         case TCKind._tk_string:            Return[i] = dataHolder.value[i].extract_string();            break;         case TCKind._tk_Principal:            org.omg.CORBA.portable.InputStream in =                                      dataHolder.value[i].create_input_stream();            int size = in.read_long();            Return[i] = (java.lang.Object) new byte[size];            in.read_octet_array ((byte[])Return[i], 0, size);            break;         case TCKind._tk_null:            Return[i] = null;            break;         case TCKind._tk_struct:            try {               if (Timestamp_structHelper.type().name().equals(                                        dataHolder.value[i].type().name())) {                  Timestamp_struct ts = Timestamp_structHelper.extract(                                                           dataHolder.value[i]);                  Return[i] = Timestamp.valueOf(                            ""+ ts.year + "-" + ts.month + "-" + ts.day +                            " "   + ts.hour + ":" + ts.minute +":" + ts.second +                            "." + fractToString (ts.fraction));               } else {                  Return[i] = null;                  throw new SQLException ("Unknown struct " +                                dataHolder.value[i].type().name() +                               " col # " + i);               }            } catch (org.omg.CORBA.TypeCodePackage.BadKind ex) {               Return[i] = null;               throw new SQLException (ex.toString());            }            break;         default:            Return[i] = null;            throw new SQLException ("Unknown tk type " +                                dataHolder.value[i].type().kind().value() +                               " col # " + i);         }      }      /*      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);       */      return Return;   }   public Double SQLGetDataDouble(OdbcStatement HSTMT, int icol)                                  throws SQLException, PicoSQLWarning {      int hStmt = HSTMT.getHSTMT();      Double Return = null;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetData Double), hStmt=" + hStmt + ", icol=" + icol);      AnyHolder rgbValue = new AnyHolder();      int cbValueMax = 0;      IntHolder pcbValue = new IntHolder();      server.SQLGetData(returnCodeHolder,hStmt,(short)icol,OdbcDef.SQL_DOUBLE,                        rgbValue, cbValueMax, pcbValue);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if (pcbValue.value >= 0)         Return = new Double (rgbValue.value.extract_double());      if (DriverManager.getLogWriter() != null)         DriverManager.println("type=" + rgbValue.value.type().kind().value() +                               ",value=" + Return + ",len=" + pcbValue.value);      return Return;   }   public Float SQLGetDataFloat(OdbcStatement HSTMT, int icol)                                       throws SQLException, PicoSQLWarning {      int hStmt = HSTMT.getHSTMT();      Float Return = null;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetData Float), hStmt=" + hStmt + ", icol=" + icol);      AnyHolder rgbValue = new AnyHolder();      int cbValueMax = 0;      IntHolder pcbValue = new IntHolder();      server.SQLGetData(returnCodeHolder,hStmt,(short)icol,OdbcDef.SQL_REAL,                        rgbValue, cbValueMax, pcbValue);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if (pcbValue.value >= 0)         Return = new Float (rgbValue.value.extract_float());      if (DriverManager.getLogWriter() != null)         DriverManager.println("type=" + rgbValue.value.type().kind().value() +                               ",value=" + Return + ",len=" + pcbValue.value);      return Return;   }   public Integer SQLGetDataInteger(OdbcStatement HSTMT, int icol)                              throws SQLException, PicoSQLWarning {      int hStmt = HSTMT.getHSTMT();      Integer Return = null;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetData Integer), hStmt=" + hStmt + ", column=" + icol);      AnyHolder rgbValue = new AnyHolder();      int cbValueMax = 0;      IntHolder pcbValue = new IntHolder();      server.SQLGetData(returnCodeHolder,hStmt,(short)icol,OdbcDef.SQL_INTEGER,                        rgbValue, cbValueMax, pcbValue);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if (pcbValue.value >= 0)         Return = new Integer (rgbValue.value.extract_long());      if (DriverManager.getLogWriter() != null)         DriverManager.println("type=" + rgbValue.value.type().kind().value() +                               ",value=" + Return + ",len=" + pcbValue.value);      return Return;   }   public String SQLGetDataString(OdbcStatement HSTMT, int icol, int cbValueMax,                                  boolean trim)                      throws SQLException, PicoSQLWarning {      int hStmt = HSTMT.getHSTMT();      String Return = null;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetData String), hStmt=" + hStmt + ", icol=" + icol + ", cbValueMax=" + cbValueMax);      AnyHolder rgbValue = new AnyHolder();      IntHolder pcbValue = new IntHolder();      server.SQLGetData(returnCodeHolder,hStmt,(short)icol,OdbcDef.SQL_CHAR,                        rgbValue, cbValueMax, pcbValue);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if (pcbValue.value >= 0)         Return = rgbValue.value.extract_string();      if (DriverManager.getLogWriter() != null)         DriverManager.println("type=" + rgbValue.value.type().kind().value() +                               ",value=[" + Return + "],len=" + pcbValue.value);      if (trim && Return != null)         return Return.trim();      else         return Return;   }   public byte[] SQLGetDataBytes(OdbcStatement HSTMT, int icol)                      throws SQLException, PicoSQLWarning {      int hStmt = HSTMT.getHSTMT();      byte[] Return = null;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetData Bytes), hStmt=" + hStmt + ", icol=" + icol);      AnyHolder rgbValue = new AnyHolder();      IntHolder pcbValue = new IntHolder();      server.SQLGetData (returnCodeHolder,hStmt,(short)icol,                         OdbcDef.SQL_LONGVARBINARY,                         rgbValue, 0x7fffffff, pcbValue);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if (DriverManager.getLogWriter() != null)         DriverManager.println("type=" + rgbValue.value.type().kind().value() +                               ",value=[" + Return + "],len=" + pcbValue.value);      org.omg.CORBA.portable.InputStream in =                                           rgbValue.value.create_input_stream();      int size = in.read_long();      Return = new byte[size];      in.read_octet_array ((byte[])Return, 0, size);      return Return;   }      public Timestamp SQLGetDataTimestamp (OdbcStatement HSTMT, int icol)                      throws SQLException, PicoSQLWarning {      int hStmt = HSTMT.getHSTMT();      Timestamp Return = null;      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetData Timestamp), hStmt=" + hStmt +                                                              ", icol=" + icol);      AnyHolder rgbValue = new AnyHolder();      IntHolder pcbValue = new IntHolder();      server.SQLGetData (returnCodeHolder,hStmt,(short)icol,                         OdbcDef.SQL_TIMESTAMP,                         rgbValue, 0, pcbValue);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if (DriverManager.getLogWriter() != null)         DriverManager.println("type=" + rgbValue.value.type().kind().value() +                               ",value=[" + Return + "],len=" + pcbValue.value);      Timestamp_struct ts = Timestamp_structHelper.extract(rgbValue.value);      Return = Timestamp.valueOf(                            ""+ ts.year + "-" + ts.month + "-" + ts.day +                            " "   + ts.hour + ":" + ts.minute +":" + ts.second +                            "."   + fractToString(ts.fraction));      return Return;   }      public int SQLGetStmtOption(OdbcStatement HSTMT, short fOption)      throws SQLException, SQLWarning {      int hStmt = HSTMT.getHSTMT();      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetStmtOption), hStmt=" + hStmt + ", fOption=" + fOption);      IntHolder optionValueHolder = new IntHolder();      StringHolder optionStringValueHolder = new StringHolder();      server.SQLGetStmtOption(returnCodeHolder, hStmt, fOption, optionStringValueHolder, optionValueHolder);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);      if(DriverManager.getLogWriter() != null)         DriverManager.println("value=" + optionValueHolder.value);      return optionValueHolder.value;   }   public void SQLGetTypeInfo(OdbcStatement HSTMT, short fSqlType) throws SQLException {      int hStmt = HSTMT.getHSTMT();      if(DriverManager.getLogWriter() != null)         DriverManager.println("(SQLGetTypeInfo), hStmt=" + hStmt + ", fSqlType=" + fSqlType);      server.SQLGetTypeInfo(returnCodeHolder, hStmt, fSqlType);      if (returnCodeHolder.value != OdbcDef.SQL_SUCCESS)         standardError (returnCodeHolder.value, 0, 0, hStmt);   }

⌨️ 快捷键说明

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