1. 程式人生 > >資料庫連線 和 動態查詢

資料庫連線 和 動態查詢

package executeQueryDemo1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;



public class queryDemo {

protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	
	
	static final String dbUrl = "jdbc:sqlserver://localhost:1433;databaseName=StudentManager";

	protected static String dbUser = "sa";
	protected static String dbPwd = "123";
	protected static String second = null;
	private static Connection conn = null;
	
	 public queryDemo() {
		try {
			if (conn == null) {
				Class.forName(dbClassName).newInstance();
				conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
				
				String sql= "select * from stu where Sname like ?"; // 萬用字元“?”   
				PreparedStatement pStatement =  conn.prepareStatement(sql);
				
				pStatement.setString(1, "邢%");  // 引數序號     引數值
			   
				
				ResultSet rSet = pStatement.executeQuery();
				System.out.println("學號"+"\t"+"姓名"+"\t"+"性別"+"\t"+"年齡"+"\t"+"籍貫"+"\t"+"系部");
				while(rSet.next()) {
					System.out.println(rSet.getString(1)+"\t"+rSet.getString(2)+"\t"+rSet.getString(3)+"\t"+rSet.getInt(4)+"\t"+rSet.getString(5)+"\t"+rSet.getString(6));
				}
			}
			else 
				return;
		} catch (Exception ee) {
			ee.printStackTrace();
		}

	}
	private static ResultSet executeQuery(String sql) {
		try {
			if(conn==null)
			new queryDemo();
			return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);
		} catch (SQLException e) {
			e.printStackTrace();
			return null;
		} finally {
		}
	}
	private static int executeUpdate(String sql) {
		
		try {
			if(conn==null)
				new queryDemo();
			return conn.createStatement().executeUpdate(sql);
		} catch (SQLException e) {
			System.out.println(e.getMessage());
			//if(e.getMessage().equals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 語句與 COLUMN REFERENCE 約束 'FK_TB_BORRO_REFERENCE_TB_BOOKI' 衝突。該衝突發生於資料庫 'db_library',表 'tb_borrow', column 'bookISBN'。"))
				
			return -1;
		} finally {
		}
	}
	
	public static void close() {
		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			conn = null;
		}
	}
	
	public static void main(String[] args) {
		new queryDemo();
	}
}

相關推薦

資料庫連線 動態查詢

package executeQueryDemo1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.

動態連線DNS查詢超時

最近,有許多Kubernetes使用者關於從Pods中查詢DNS的錯誤報告,有時需要5秒甚至更長的時間:編織#3287, 庫伯內特斯#56903. 在這篇文章中,我將解釋造成這種延遲的根本原因,討論一些緩解措施,並介紹核心修復。 背景 在Kubernetes中,POD訪問DNS伺服器的最常

Oracle資料庫之外連線分組查詢:left,right,full join 連線

資料庫開發時經常要編寫過程來優化資料庫的增刪該查和一些簡單的業務操作,或在java中呼叫,或定義job按時執行(如每天,每週,每月...的統計任務),其中查詢操作最有可能面臨效能瓶頸。 因此,我們通常希望(遇過按月查詢幾億條資料的情況)查詢操作能夠儘可能地快,減少對資料量大

3-4 用Python 進行資料庫連線與資料查詢(版本:py3)

PyMySQL 1.安裝PyMySQL包 pip install PyMySQL #推薦使用conda 來安裝 conda install PyMySQL 2.補充閱讀 請閱讀官方文件中Documentation的User Guide部分,熟悉一個包最直接方法就是

雲虛擬主機資料庫連線url重寫

.在阿里雲虛擬主機(偽靜態)配置URL的REWRITE模式 網站首頁能夠訪問,但是點開任何頁面,都是提示No input file specified,猜測應該是URL重寫沒有生效,我在瀏覽器地址把index.php加上去,就可以訪問子頁面了。 解決方法是: 1、關於URL重寫,與Thi

jbdc 資料庫連線 properties配置檔案讀取 結合應用

web應用避不開與資料庫的互動,熟悉資料庫的連線和配置有利於更快捷方便的操作資料庫和應用的協作,保證應用效能的穩定;   資料庫jdbc連線: 1:常見資料庫連線驅動: mysql:  驅動程式包名:mysql-connector-java-5.1.26-bin.

一個關於php使用pdo方式進行資料庫連線處理的類

話不多說,先貼程式碼 <?php /** @DB Operates For PDO @author:MeeeeN @date:2015-10-22 22:40:32 **/ //定義資料庫資訊 header("Content-type:text/

基於連線查詢的update語句

1: 效率高, 連線,update 後跟別名 update a set a.Field1= b.Field1 from Table1 a left join Table2 b on a.SID=b.ID where b.Code like 'm%' 效率高 2: 子查詢,update後跟表名 updat

tomcat上配置資料庫連線專案部署

分三步: 1、到tomcat目錄下conf資料夾裡面的server.xml部署專案 2、到tomcat目錄下conf資料夾裡面的context.xml設定資料庫連線 3、專案內寫呼叫context

JDBCUtil類-封裝資料庫連線關閉連線

   JDBC類是對獲得資料庫連線和關閉資料庫連線的一個封裝,在需要使用到資料庫的時候,我們需要訪問資料庫,然後獲得資料庫連線,在一個程式或專案中難免會有多處需要使用到資料庫,所以我i們有必要書寫一個

關於資料庫連線在WINFROM下做使用者登入

開學第一天,應該給自己打氣的,但是說的再多也沒用,以後走著瞧吧 以下是今天的收穫 資料庫的連線 混合身份登入: Data Source=本機名\SQLSERVER2008;Initial Catalog=要連線的資料庫名字;Persist Security Info=T

Linux資料庫連線關閉、啟動

Linux命令下oracle 連線命令: sqlplus / as sysdba 啟動oracle資料庫命令: startup 關閉oracel資料庫命令: shutdown immediate 檢視監聽狀態: 命令: lsnrctl status 啟動監聽

Java 使用動態代理觀察者模式+threadlocal實現資料庫連線

當我們使用資料庫連線池時,如果多執行緒連線資料庫時,當超過5個執行緒連線資料庫時,那麼在第6個執行緒包括之後就連線不到資料庫了,該怎麼處理。 這裡用了java動態代理來這裡用了java的動態代理來代理資料庫的連線,攔截連線的close方法。並且給代理的連線加上一

java連線資料庫執行靜態動態的sql語句

►JDBC (Java DatabaseConnectivity) 是用於執行SQL 語句的Java 應用程式介面,由一組用Java 語言編寫的類和介面組成。 ►JDBC 是一種規範,各資料庫廠商為J

mysql筆記五——資料庫連線池(原理、構建)java動態代理的使用

資料庫連線池 1、什麼是資料庫連線池?       資料庫連線池負責分配、管理和釋放資料庫連線,它允許應用程式重複使用一個現有的資料庫連線,而不是再重新建立一個;釋放空閒時間超過最大空閒時間的資料庫連線來避免因為沒有釋放資料庫連線而引起的資料庫連線遺漏。這項

mysql 資料庫查詢語句 左外連線 右外連線 連線區別

 左外連結查詢:A  left join  B  on  conidtion  where condition       用A表 的全部資料去匹配 B表 B表無匹配資料時用null代替                       左聯左不丟資料  右外連線查詢:A  ri

C++中 MFC DLL如何連線mysql資料庫以及按條件查詢時間的比較

1.把mysql資料庫的以上檔案複製到 “右鍵點選專案名——》在檔案資源管理器中開啟資料夾”中。 2.右鍵點選專案名——》新增——》現有項,選中從mysql複製過來的所有檔案,點選新增。 3.可以寫程式碼了。 extern "C" bool PASCAL EXPORT q

資料庫查詢語句中的內連線連線

內連線:指連線結果僅包含符合連線條件的行,參與連線的兩個表都應該符合連線條件。 外連線:連線結果不僅包含符合連線條件的行同時也包含自身不符合條件的行。   外連線包括:左外連線、右外連線和全外連線。     左外連線:左邊表資料行全部保留,右邊表保留符合連線條件的行。     右外連線:右邊表資料行全部保留,

JDBC資料庫連線連線資料庫資料庫操作DAO層設計通用更新及查詢方法(二)

上篇文章主要介紹了通過資料庫連線池連線資料庫,然後設計了對資料庫通用更新和查詢方法,本篇文章主要通過例項介紹上篇文章定義的對資料庫操作的幾個方法的使用:     首先我們先在資料庫建立一個學生資訊表Student欄位如圖: 建立好表將配置檔案的資訊改好然後需要建立一

JDBC資料庫連線連線資料庫資料庫操作DAO層設計通用更新及查詢方法(一)

該篇文章介紹了資料庫連線池獲取資料庫連線以及資料庫操作的基本使用,然後主要提供了java專案案例中dao層的一種設計,利用反射的原理定義了通用的查詢方法可以對應所有的表和例項。文章中的每段程式碼都提供了詳細的註釋及邏輯步驟 首先匯入資料庫連線的所需要的jar包: