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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serverpreparedstatement.java

?? mysql jdbc驅動程序 mysql jdbc驅動程序 mysql jdbc驅動程序 mysql jdbc驅動程序
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
		checkClosed();		clearParametersInternal(true);	}	private void clearParametersInternal(boolean clearServerParameters)			throws SQLException {		boolean hadLongData = false;		if (this.parameterBindings != null) {			for (int i = 0; i < this.parameterCount; i++) {				if ((this.parameterBindings[i] != null)						&& this.parameterBindings[i].isLongData) {					hadLongData = true;				}				this.parameterBindings[i].reset();			}		}		if (clearServerParameters && hadLongData) {			serverResetStatement();			this.detectedLongParameterSwitch = false;		}	}	protected boolean isCached = false;	protected void setClosed(boolean flag) {		this.isClosed = flag;	}	/**	 * @see java.sql.Statement#close()	 */	public void close() throws SQLException {		if (this.isCached) {			this.isClosed = true;			this.connection.recachePreparedStatement(this);			return;		}				realClose(true, true);	}	private void dumpCloseForTestcase() {		StringBuffer buf = new StringBuffer();		this.connection.generateConnectionCommentBlock(buf);		buf.append("DEALLOCATE PREPARE debug_stmt_");		buf.append(this.statementId);		buf.append(";\n");		this.connection.dumpTestcaseQuery(buf.toString());	}	private void dumpExecuteForTestcase() throws SQLException {		StringBuffer buf = new StringBuffer();		for (int i = 0; i < this.parameterCount; i++) {			this.connection.generateConnectionCommentBlock(buf);			buf.append("SET @debug_stmt_param");			buf.append(this.statementId);			buf.append("_");			buf.append(i);			buf.append("=");			if (this.parameterBindings[i].isNull) {				buf.append("NULL");			} else {				buf.append(this.parameterBindings[i].toString(true));			}			buf.append(";\n");		}		this.connection.generateConnectionCommentBlock(buf);		buf.append("EXECUTE debug_stmt_");		buf.append(this.statementId);		if (this.parameterCount > 0) {			buf.append(" USING ");			for (int i = 0; i < this.parameterCount; i++) {				if (i > 0) {					buf.append(", ");				}				buf.append("@debug_stmt_param");				buf.append(this.statementId);				buf.append("_");				buf.append(i);			}		}		buf.append(";\n");		this.connection.dumpTestcaseQuery(buf.toString());	}	private void dumpPrepareForTestcase() throws SQLException {		StringBuffer buf = new StringBuffer(this.originalSql.length() + 64);		this.connection.generateConnectionCommentBlock(buf);		buf.append("PREPARE debug_stmt_");		buf.append(this.statementId);		buf.append(" FROM \"");		buf.append(this.originalSql);		buf.append("\";\n");		this.connection.dumpTestcaseQuery(buf.toString());	}	/**	 * @see java.sql.Statement#executeBatch()	 */	public synchronized int[] executeBatchSerially() throws SQLException {		if (this.connection.isReadOnly()) {			throw SQLError.createSQLException(Messages					.getString("ServerPreparedStatement.2") //$NON-NLS-1$					+ Messages.getString("ServerPreparedStatement.3"), //$NON-NLS-1$					SQLError.SQL_STATE_ILLEGAL_ARGUMENT);		}		checkClosed();		synchronized (this.connection.getMutex()) {			clearWarnings();			// Store this for later, we're going to 'swap' them out			// as we execute each batched statement...			BindValue[] oldBindValues = this.parameterBindings;			try {				int[] updateCounts = null;				if (this.batchedArgs != null) {					int nbrCommands = this.batchedArgs.size();					updateCounts = new int[nbrCommands];					if (this.retrieveGeneratedKeys) {						this.batchedGeneratedKeys = new ArrayList(nbrCommands);					}					for (int i = 0; i < nbrCommands; i++) {						updateCounts[i] = -3;					}					SQLException sqlEx = null;					int commandIndex = 0;					BindValue[] previousBindValuesForBatch = null;					for (commandIndex = 0; commandIndex < nbrCommands; commandIndex++) {						Object arg = this.batchedArgs.get(commandIndex);						if (arg instanceof String) {							updateCounts[commandIndex] = executeUpdate((String) arg);						} else {							this.parameterBindings = ((BatchedBindValues) arg).batchedParameterValues;							try {								// We need to check types each time, as								// the user might have bound different								// types in each addBatch()								if (previousBindValuesForBatch != null) {									for (int j = 0; j < this.parameterBindings.length; j++) {										if (this.parameterBindings[j].bufferType != previousBindValuesForBatch[j].bufferType) {											this.sendTypesToServer = true;											break;										}									}								}								try {									updateCounts[commandIndex] = executeUpdate(false, true);								} finally {									previousBindValuesForBatch = this.parameterBindings;								}								if (this.retrieveGeneratedKeys) {									java.sql.ResultSet rs = null;									try {										// we don't want to use our version,										// because we've altered the behavior of										// ours to support batch updates										// (catch-22)										// Ideally, what we need here is										// super.super.getGeneratedKeys()										// but that construct doesn't exist in										// Java, so that's why there's										// this kludge.										rs = getGeneratedKeysInternal();										while (rs.next()) {											this.batchedGeneratedKeys													.add(new byte[][] { rs															.getBytes(1) });										}									} finally {										if (rs != null) {											rs.close();										}									}								}							} catch (SQLException ex) {								updateCounts[commandIndex] = EXECUTE_FAILED;								if (this.continueBatchOnError) {									sqlEx = ex;								} else {									int[] newUpdateCounts = new int[commandIndex];									System.arraycopy(updateCounts, 0,											newUpdateCounts, 0, commandIndex);									throw new java.sql.BatchUpdateException(ex											.getMessage(), ex.getSQLState(), ex											.getErrorCode(), newUpdateCounts);								}							}						}					}					if (sqlEx != null) {						throw new java.sql.BatchUpdateException(sqlEx								.getMessage(), sqlEx.getSQLState(), sqlEx								.getErrorCode(), updateCounts);					}				}				return (updateCounts != null) ? updateCounts : new int[0];			} finally {				this.parameterBindings = oldBindValues;				this.sendTypesToServer = true;				clearBatch();			}		}	}	/**	 * @see com.mysql.jdbc.PreparedStatement#executeInternal(int,	 *      com.mysql.jdbc.Buffer, boolean, boolean)	 */	protected com.mysql.jdbc.ResultSet executeInternal(int maxRowsToRetrieve,			Buffer sendPacket, boolean createStreamingResultSet,			boolean queryIsSelectOnly, boolean unpackFields, Field[] metadataFromCache,			boolean isBatch)			throws SQLException {		this.numberOfExecutions++;		// We defer to server-side execution		try {			return serverExecute(maxRowsToRetrieve, createStreamingResultSet, 					unpackFields, metadataFromCache);		} catch (SQLException sqlEx) {			// don't wrap SQLExceptions			if (this.connection.getEnablePacketDebug()) {				this.connection.getIO().dumpPacketRingBuffer();			}			if (this.connection.getDumpQueriesOnException()) {				String extractedSql = toString();				StringBuffer messageBuf = new StringBuffer(extractedSql						.length() + 32);				messageBuf						.append("\n\nQuery being executed when exception was thrown:\n\n");				messageBuf.append(extractedSql);				sqlEx = Connection.appendMessageToException(sqlEx, messageBuf						.toString());			}			throw sqlEx;		} catch (Exception ex) {			if (this.connection.getEnablePacketDebug()) {				this.connection.getIO().dumpPacketRingBuffer();			}			SQLException sqlEx = SQLError.createSQLException(ex.toString(),					SQLError.SQL_STATE_GENERAL_ERROR);			if (this.connection.getDumpQueriesOnException()) {				String extractedSql = toString();				StringBuffer messageBuf = new StringBuffer(extractedSql						.length() + 32);				messageBuf						.append("\n\nQuery being executed when exception was thrown:\n\n");				messageBuf.append(extractedSql);				sqlEx = Connection.appendMessageToException(sqlEx, messageBuf						.toString());			}			throw sqlEx;		}	}	/**	 * @see com.mysql.jdbc.PreparedStatement#fillSendPacket()	 */	protected Buffer fillSendPacket() throws SQLException {		return null; // we don't use this type of packet	}	/**	 * @see com.mysql.jdbc.PreparedStatement#fillSendPacket(byte,	 *      java.io.InputStream, boolean, int)	 */	protected Buffer fillSendPacket(byte[][] batchedParameterStrings,			InputStream[] batchedParameterStreams, boolean[] batchedIsStream,			int[] batchedStreamLengths) throws SQLException {		return null; // we don't use this type of packet	}	/**	 * Returns the structure representing the value that (can be)/(is)	 * bound at the given parameter index.	 * 	 * @param parameterIndex 1-based	 * @param forLongData is this for a stream?	 * @return	 * @throws SQLException	 */	private BindValue getBinding(int parameterIndex, boolean forLongData)			throws SQLException {		checkClosed();				if (this.parameterBindings.length == 0) {			throw SQLError.createSQLException(Messages					.getString("ServerPreparedStatement.8"), //$NON-NLS-1$					SQLError.SQL_STATE_ILLEGAL_ARGUMENT);		}		parameterIndex--;		if ((parameterIndex < 0)				|| (parameterIndex >= this.parameterBindings.length)) {			throw SQLError.createSQLException(Messages					.getString("ServerPreparedStatement.9") //$NON-NLS-1$					+ (parameterIndex + 1)					+ Messages.getString("ServerPreparedStatement.10") //$NON-NLS-1$					+ this.parameterBindings.length,					SQLError.SQL_STATE_ILLEGAL_ARGUMENT);		}		if (this.parameterBindings[parameterIndex] == null) {			this.parameterBindings[parameterIndex] = new BindValue();		} else {			if (this.parameterBindings[parameterIndex].isLongData					&& !forLongData) {				this.detectedLongParameterSwitch = true;			}		}		this.parameterBindings[parameterIndex].isSet = true;		this.parameterBindings[parameterIndex].boundBeforeExecutionNum = this.numberOfExecutions;		return this.parameterBindings[parameterIndex];	}	/**	 * @see com.mysql.jdbc.PreparedStatement#getBytes(int)	 */	byte[] getBytes(int parameterIndex) throws SQLException {		BindValue bindValue = getBinding(parameterIndex, false);		if (bindValue.isNull) {			return null;		} else if (bindValue.isLongData) {			throw new NotImplemented();		} else {			if (this.outByteBuffer == null) {				this.outByteBuffer = new Buffer(this.connection						.getNetBufferLength());			}			this.outByteBuffer.clear();			int originalPosition = this.outByteBuffer.getPosition();			storeBinding(this.outByteBuffer, bindValue, this.connection.getIO());			int newPosition = this.outByteBuffer.getPosition();			int length = newPosition - originalPosition;			byte[] valueAsBytes = new byte[length];			System.arraycopy(this.outByteBuffer.getByteBuffer(),					originalPosition, valueAsBytes, 0, length);			return valueAsBytes;		}	}	/**	 * @see java.sql.PreparedStatement#getMetaData()	 */	public java.sql.ResultSetMetaData getMetaData() throws SQLException {		checkClosed();		if (this.resultFields == null) {			return null;		}		return new ResultSetMetaData(this.resultFields, 				this.connection.getUseOldAliasMetadataBehavior());	}	/**	 * @see java.sql.PreparedStatement#getParameterMetaData()	 */	public ParameterMetaData getParameterMetaData() throws SQLException {		checkClosed();				if (this.parameterMetaData == null) {			this.parameterMetaData = new MysqlParameterMetadata(					this.parameterFields, this.parameterCount);		}				return this.parameterMetaData;	}	/**	 * @see com.mysql.jdbc.PreparedStatement#isNull(int)	 */	boolean isNull(int paramIndex) {		throw new IllegalArgumentException(Messages				.getString("ServerPreparedStatement.7")); //$NON-NLS-1$	}	/**	 * Closes this connection and frees all resources.	 * 	 * @param calledExplicitly	 *            was this called from close()?	 * 	 * @throws SQLException	 *             if an error occurs	 */	protected void realClose(boolean calledExplicitly, 			boolean closeOpenResults) throws SQLException {		if (this.isClosed) {			return;		}		if (this.connection != null) {			if (this.connection.getAutoGenerateTestcaseScript()) {				dumpCloseForTestcase();			}						synchronized (this.connection.getMutex()) {					//				// Don't communicate with the server if we're being				// called from the finalizer...				// 				// This will leak server resources, but if we don't do this,				// we'll deadlock (potentially, because there's no guarantee				// when, what order, and what concurrency finalizers will be				// called with). Well-behaved programs won't rely on finalizers				// to clean up their statements.				//								SQLException exceptionDuringClose = null;								if (calledExplicitly) {					try {												MysqlIO mysql = this.connection.getIO();												Buffer packet = mysql.getSharedSendPacket();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久草精品在线观看| 久久伊人中文字幕| 亚洲国产一区二区三区| 91九色最新地址| 亚洲综合另类小说| 欧美日本在线视频| 久久国产尿小便嘘嘘尿| 久久尤物电影视频在线观看| 国产二区国产一区在线观看| 国产精品传媒在线| 欧美性生活一区| 蜜桃久久精品一区二区| 国产亚洲欧美日韩俺去了| 北条麻妃一区二区三区| 亚洲综合一区二区| 日韩欧美一区中文| 成人av网站在线观看免费| 亚洲欧美日韩一区二区| 欧美高清激情brazzers| 国产一区二区中文字幕| 亚洲人吸女人奶水| 91精品午夜视频| 国产91在线观看| 亚洲国产综合在线| 久久久久久久网| 色诱亚洲精品久久久久久| 免费观看在线综合| 亚洲视频中文字幕| 日韩欧美国产精品一区| 91浏览器在线视频| 蜜桃传媒麻豆第一区在线观看| 国产欧美一区二区精品久导航| 91久久精品日日躁夜夜躁欧美| 经典一区二区三区| 亚洲自拍与偷拍| 亚洲精品一区二区三区福利| 色婷婷av一区二区三区之一色屋| 另类小说综合欧美亚洲| 亚洲女同ⅹxx女同tv| 精品久久久网站| 欧美体内she精高潮| 风流少妇一区二区| 青青草原综合久久大伊人精品| 国产精品国产三级国产普通话蜜臀| 69久久夜色精品国产69蝌蚪网| 99久久99久久久精品齐齐| 黄色成人免费在线| 性做久久久久久久免费看| 国产精品免费av| 26uuu国产日韩综合| 欧美日韩dvd在线观看| 色域天天综合网| 粉嫩一区二区三区性色av| 乱中年女人伦av一区二区| 一区二区三区在线观看国产| 国产日韩精品一区二区三区| 欧美不卡一二三| 欧美一区二区三区系列电影| 欧美日韩激情在线| 91精品福利视频| av中文字幕不卡| 国产在线不卡一区| 91福利在线播放| 成人黄色小视频| 国产成人精品aa毛片| 国产一区二区三区在线观看免费| 日韩二区三区在线观看| 亚洲尤物在线视频观看| 综合av第一页| 一区二区三区欧美亚洲| 亚洲激情自拍视频| 亚洲欧美偷拍卡通变态| 亚洲欧美电影一区二区| 亚洲少妇中出一区| 亚洲人成伊人成综合网小说| 国产精品美女久久久久久久网站| 中文字幕不卡的av| 国产精品另类一区| 国产精品三级电影| 日韩一区日韩二区| 亚洲欧美成人一区二区三区| 一区二区三区四区蜜桃| 亚洲一区二区三区在线| 亚洲二区在线观看| 日韩av在线发布| 久久福利视频一区二区| 狠狠色综合播放一区二区| 国产精品一二一区| 不卡电影一区二区三区| 91蜜桃传媒精品久久久一区二区| 色综合一个色综合亚洲| 欧美日韩一区三区四区| 欧美日韩国产大片| 精品福利视频一区二区三区| 精品福利二区三区| 国产精品免费人成网站| 一区二区在线观看免费视频播放| 亚洲图片欧美一区| 狠狠色综合日日| 不卡的av中国片| 欧美视频在线观看一区二区| 日韩欧美中文字幕公布| 国产色一区二区| 亚洲精品亚洲人成人网| 美腿丝袜亚洲色图| 国产一本一道久久香蕉| 色综合一区二区| 欧美不卡激情三级在线观看| 国产精品午夜在线| 午夜伦理一区二区| 成人性生交大片免费看视频在线| 91久久精品日日躁夜夜躁欧美| 日韩一区二区三区观看| 国产精品乱码一区二区三区软件| 亚洲一区在线视频| 国产中文字幕精品| 色综合天天在线| xnxx国产精品| 洋洋av久久久久久久一区| 精彩视频一区二区三区| 一本大道av伊人久久综合| 欧美va在线播放| 亚洲最色的网站| 国产一区二区三区在线观看免费 | 婷婷开心久久网| 国产盗摄一区二区三区| 欧美日韩免费不卡视频一区二区三区| 亚洲成av人片www| 国产大陆精品国产| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲激情自拍偷拍| 激情综合一区二区三区| 欧美色偷偷大香| 国产精品每日更新| 精品一区二区三区视频在线观看 | 欧美高清激情brazzers| 亚洲色图视频免费播放| 激情图片小说一区| 欧美人狂配大交3d怪物一区| 亚洲欧洲99久久| 国产激情一区二区三区四区| 欧美一区二区三区精品| 亚洲国产视频在线| fc2成人免费人成在线观看播放| 精品久久久影院| 毛片av一区二区| 欧美日韩国产一级片| 亚洲精品久久久久久国产精华液| 国产aⅴ综合色| 久久亚洲精品小早川怜子| 热久久久久久久| 欧美日韩黄色影视| 亚洲一区二区3| 色老头久久综合| 亚洲美女一区二区三区| 99久久精品国产一区二区三区| 久久影院电视剧免费观看| 久久99热狠狠色一区二区| 欧美日韩国产免费| 天天综合日日夜夜精品| 一本到一区二区三区| 成人免费在线播放视频| 粗大黑人巨茎大战欧美成人| 精品入口麻豆88视频| 蜜臀av一级做a爰片久久| 欧美精品日韩一本| 日韩国产精品久久久久久亚洲| 欧美午夜精品一区二区三区 | 日韩黄色小视频| 制服丝袜日韩国产| 日韩高清中文字幕一区| 69堂成人精品免费视频| 美女久久久精品| 欧美zozozo| 国产v综合v亚洲欧| 中文字幕一区二区三区av| 99精品1区2区| 亚洲黄色免费网站| 欧美精品1区2区3区| 美日韩一区二区三区| 久久久久久麻豆| 91老师片黄在线观看| 亚洲狠狠爱一区二区三区| 91麻豆精品国产91久久久使用方法| 男女激情视频一区| 久久精品亚洲精品国产欧美kt∨| 国产精品一二二区| 亚洲三级电影网站| 91精品婷婷国产综合久久性色| 青椒成人免费视频| 日本一区二区三区电影| gogogo免费视频观看亚洲一| 亚洲成人一区在线| 久久免费电影网| 91麻豆福利精品推荐| 免费成人av在线| 国产精品毛片久久久久久久| 欧美色综合久久| 国内精品久久久久影院色| 国产精品久久午夜夜伦鲁鲁|