導航:首頁 > 編程語言 > java資料庫查詢結果

java資料庫查詢結果

發布時間:2022-07-27 16:38:10

① 用java如何將查詢的結果在table中顯示

利用Java開發資料庫應用系統時,經常需要在用戶界面上顯示查詢結果。由於SUN公司提供的JDK1.x開發工具包不是可視化的集成開發環境(IDE),不能象Delphi、VB那樣方便地把查詢結果在DBGrid等表格中顯示出來。因此,只能靠自己編寫代碼來實現。
在實際應用中,我們可以利用Vector、JTable、AbstractTableModel等三個類較好地解決這一問題。以下,詳細介紹一下實現方法。

· 一、 類Vector、類JTable及類AbstractTableModel簡介:

1、 類Vector:
類Vector是Java的歷史集合類,隸屬於java.util包。它包裝了異構鏈表和數組雜合體,具有以下兩個特點:

* 向量是異構的,不要求每個元素的類型相同,向量中可以混合多種對象類型;
* 向量是數組雜合體,因為它們可以在增加元素時動態增大。

其異構性正好符合資料庫記錄中屬性類型不一的特點,而其動態性也正好符合資料庫查詢時,結果集記錄個數不定的特點。

類Vector定義如下:
public class Vector extends AbstractList
implements List , Cloneable , Serializable{…}

實現了向量成員的查找、新增、刪除等方法。如:add(Object obj)可方便地加入一個對象;get(int index)可方便地得到向量中的一個對象;remove(Object obj)。則可方便地刪除向量中一個對象。

· 2、 類JTable:

JTable組件是Swing組件中比較復雜的小件,隸屬於javax.swing包,它能以二維表的形式顯示數據。類JTable定義如下:
public class JTable extends JComponent
implements TableModelListener, Scrollable, TableColumnModelListener,
ListSelectionListener, CellEditorListener, Accessible{…}
類JTable在顯示數據時具有以下特點:

* 可定製性:可以定製數據的顯示方式和編輯狀態;
* 異構性:可以顯示不同類型的數據對象,甚至包括顏色、圖標等復雜對象;
* 簡便性:可以以預設方式輕松地建立起一個二維表。

其可定製性可滿足不同用戶和場合的要求,異構性也正好符合資料庫訪問結果集中屬性類型不一的特點。類JTable提供了極為豐富的二維表格操作方法,如設置編

輯狀態、顯示方式、選擇行列等,在此不一一贅述。
使用類JTable顯示數據之前,必須根據情況生成定製模型、單元繪制器或單元編輯器。類AbstractListModel用來定製用戶自己的數據模型,這個類在後面要介紹。

TableCellRenderer介面用來定製單元繪制器,TableCellEditor介面用來定製單元編輯器,這兩個介面主要用於顏色對象的處理上,在示例中沒有用到,不做過多說明。

· 3、 類AbstractTableModel:

類AbstractTableModel是一個抽象類,沒有完全實現,不能實例化,使用時必須在程序中實現方法。它隸屬於javax.swing.table 。類定義如下:
public abstract class AbstractTableModel extends Object
implements TableModel, Serializable{…}

類AbstractTableModel提供了TableModel介面中絕大多數方法的預設實現。TableModel介面定義了JTable 的基礎數據結構。用戶要生成自己的數據模型,本來可以

通過實現TableModel介面中所有方法來滿足要求,但管理聽眾表的功能對於所有數據模型是共同的,所以在javax.swing.table中又定義了類AbstractTableModel來

處理這個工作。它既管理聽眾表,又為生成TableModelEvents事件並委託給聽眾提供了便利。
要想生成一個具體的TableModel作為AbstractTableMode的子類,至少必須實現下面三個方法:

public int getRowCount();
public int getColumnCount();
public Object getValueAt(int row, int column);

至此,我們可以建立一個簡單二維表(5×5),實現方法如下:
TableModel dataModel = new AbstractTableModel() {
public int getColumnCount() { return 5; }
public int getRowCount() { return 5;}
public Object getValueAt(int row, int col) { return new Integer(row*col); }
};
JTable table = new JTable(dataModel);
JScrollPane scrollpane = new JScrollPane(table);
· 二、 資料庫及其連接方法簡介:

示例採用Sybase資料庫系統,資料庫存放在資料庫伺服器中。路徑為:D:/WORKER,資料庫名為:worker.dbf。具有以下欄位:

欄位名
類型
Wno(職工號)
VARCHAR
Wname(職工名)
VARCHAR
Sex(性別)
VARCHAR
Birthday(出生日期)
DATE
Wage(工資)
FLOAT

要連接此資料庫,需使用java.sql包中的類DriverManager。此類是用於管理JDBC驅動程序的實用程序類。它提供了通過驅動程序取得連接、注冊,撤消驅動程序, 設置登記和資料庫訪問登錄超時等方法。具體連接方法如下:

第一步:定位、裝入和鏈接SybDriver類;
driver="com.sybase.jdbc.SybDriver";
SybDriver sybdriver=(SybDriver)Class.forName(driver).newInstance();
第二步:注冊SybDriver類;
DriverManager.registerDriver(sybdriver);
第三步:取得連接(SybConnection)對象引用。
user="sa";
password="";
url="jdbc:sybase:Tds:202.117.203.114:5000/WORKER";
SybConnection connection=(SybConnection)DriverManager.getConnection
(url,user,password);

建立完連接後,即可通過Statement介面進行資料庫的查詢與更改。
· 三、 實現方法:

限於篇幅,在此只給出核心代碼,包引入、界面處理、變數定義等部分不再介紹。
第一步:對象聲明。
AbstractTableModel tm;//聲明一個類AbstractTableModel對象
JTable jg_table;//聲明一個類JTable對象
Vector vect;//聲明一個向量對象
JScrollPane jsp;//聲明一個滾動杠對象
String title[]={"職工號","職工名","性別","出生日期","工資"};
//二維表列名

第二步:定製表格。

1、實現抽象類AbstractTableModel對象tm中的方法:
vect=new Vector();//實例化向量
tm=new AbstractTableModel(){
public int getColumnCount(){
return title.length;}//取得表格列數
public int getRowCount(){
return vect.size();}//取得表格行數
public Object getValueAt(int row,int column){
if(!vect.isEmpty())
return
((Vector)vect.elementAt(row)).elementAt(column);
else
return null;}//取得單元格中的屬性值
public String getColumnName(int column){
return title[column];}//設置表格列名
public void setValueAt(Object value,int row,int column){}
//數據模型不可編輯,該方法設置為空
public Class getColumnClass(int c){
return getValueAt(0,c).getClass();
}//取得列所屬對象類
public boolean isCellEditable(int row,int column){
return false;}//設置單元格不可編輯,為預設實現
};

2、定製表格:

jg_table=new JTable(tm);//生成自己的數據模型
jg_table.setToolTipText("顯示全部查詢結果");//設置幫助提示
jg_table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
//設置表格調整尺寸模式
jg_table.setCellSelectionEnabled(false);//設置單元格選擇方式
jg_table.setShowVerticalLines(true);//設置是否顯示單元格間的分割線
jg_table.setShowHorizontalLines(true);
jsp=new JScrollPane(jg_table);//給表格加上滾動杠

第三步:顯示查詢結果。

1、 連接資料庫:第二部分已給出。
2、 資料庫查詢:
Statement stmt=connection.createStatement();
ResultSet rs=stmt.executeQuery("select * from worker");
3、 顯示查詢結果:
vect.removeAllElements();//初始化向量對象
tm.fireTableStructureChanged();//更新表格內容
while(rs.next()){
Vector rec_vector=new Vector();
//從結果集中取數據放入向量rec_vector中
rec_vector.addElement(rs.getString(1));
rec_vector.addElement(rs.getString(2));
rec_vector.addElement(rs.getString(3));
rec_vector.addElement(rs.getDate(4));
rec_vector.addElement(new Float(rs.getFloat(5)));
vect.addElement(rec_vector);//向量rec_vector加入向量vect中
}
tm.fireTableStructureChanged();//更新表格,顯示向量vect的內容。

② 怎麼用JAVA把資料庫查詢結果顯示在網頁上

java從資料庫查詢結果顯示在網頁上,步驟如下:

  1. 第一步:連接資料庫,並取得查詢結果:importjava.sql.*;

publicclassOraDriver{
publicstaticvoidmain(Stringargs[])throwsException{
//利用Oracle驅動進行連接
Class.forName("oracle.jdbc.driver.OracleDriver");//載入驅動
Stringurl="jdbc:oracle:thin:@localhost:1521:SCHOOL";
Connectionconn=DriverManager.getConnection(url,"scott","tiger");
Statementstat=conn.createStatement();
ResultSetrs=stat.executeQuery("SELECT姓名FROM學籍");
while(rs.next()){
System.out.println(rs.getString("姓名"));
}
}
}


2.在JSP上顯示可以用EL表達式如${user.getName()},也可以用JAVA胸本<%=user.getName()%>,或都直接用out.print(user.getName());

③ java 查詢的結果為 0e-8 和 0E-12,這是什麼意思

java查詢的結果為0e-8和0E-12意思是代碼錯誤,正確代碼如下

BigDecimal b = new BigDecimal("0.00000000");

System.out.println(b); //輸出 0E-8

System.out.println(b.toPlainString()); //輸出 0.00000000

BigDecimal b = new BigDecimal(0);

DecimalFormat df=new DecimalFormat("0.00000000");

String str=df.format(b);

System.out.println(str);

JAVA使用技巧

Java號稱是一門「一次編譯到處運行」的語言,從寫的java文件到通過編譯器編譯成java位元組碼文件(也就是.class文件),這個過程是java編譯過程;而java虛擬機執行的就是位元組碼文件。

不論該位元組碼文件來自何方,由哪種編譯器編譯,甚至是手寫位元組碼文件,只要符合java虛擬機的規范,那麼就能夠執行該位元組碼文件。

④ java怎麼從資料庫中查詢數據並輸出

剛剛漏了帳號密碼了,現在補上

try{
//這里的是MYSQL舉例
//載入驅動
Class.forName("com.mysql.jdbc.Driver");
//創建資料庫連接
Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
//創建查詢「請求」
PreparedStatementps=con.prepareStatement("select*fromuser");
//返回查詢結果
ResultSetrs=ps.executeQuery();
//遍歷結果
while(rs.next()){
//假如User表中有個name列
System.out.println("name>>"+rs.getString("name"));
}
//關閉
rs.close();
ps.close();
con.close();
}catch(Exceptione){
e.printStackTrace();
}

⑤ 如何在java web中獲得資料庫查詢的結果

  1. 建立個servlet,重寫doget()等方法

  2. 在web.xml中配置這個servlet

    servlet可以實現前後台交互 建議看看這方面的知識,挺簡單的

⑥ java查詢資料庫的數據並顯示出來

本人使用的是 Jena-2.5.7 MySQL 5.0 mysql-connector-java-3.1.10 jdk1.6.0_07
源代碼:
import java.io.*;
import java.sql.SQLException;
import com.hp.hpl.jena.db.*;
import com.hp.hpl.jena.rdf.model.*;
public class MysqlTest{

public static final String strDriver = "com.mysql.jdbc.Driver"; // path of driver class
public static final String strURL = "jdbc:mysql://localhost/ontodb"; // URL of database
public static final String strUser = "root"; // database user id
public static final String strPassWord = "4408"; // database password
public static final String strDB = "MySQL"; // database type
public static void main(String[] args){
try{
// 創建一個資料庫連接
IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB );

// 載入資料庫驅動類,需要處理異常
try
{
Class.forName(strDriver);
}catch(ClassNotFoundException e){
System.out.println("ClassNotFoundException, Driver is not available...");
}

// 使用資料庫連接參數創建一個模型製造器
ModelMaker maker = ModelFactory.createModelRDBMaker(conn);

// 創建一個默認模型,命名為 MyOntology
Model defModel = maker.createDefaultModel();
// 准備需要存入資料庫的本體文件,建立輸入文件流
FileInputStream inputSreamfile = null;
try
{
File file = new File("D:/Person.owl");
inputSreamfile = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("Ontology File is not available...");
}

InputStreamReader in = null;
try
{
in = new InputStreamReader(inputSreamfile, "UTF-8");
} catch (UnsupportedEncodingException e) {
System.out.println("Exceptions occur33...");
e.printStackTrace();
}

// 讀取文件
defModel.read(in,null);

// 關閉輸入流讀取器
try
{
in.close();
} catch (IOException e) {
System.out.println("Exceptions occurclose1...");
e.printStackTrace();
}

// 執行數據轉換,將本體數據存入資料庫
defModel.commit();

// 關閉資料庫連接
try
{
conn.close();
} catch (SQLException e) {
System.out.println("Exceptions occur22...");
e.printStackTrace();
}
}catch(RDFRDBException e){
System.out.println("Exceptions occur...");
}

}
}
輸出結果
Tue Dec 30 17:07:06 CST 2008 TRACE:
Tue Dec 30 17:07:06 CST 2008 TRACE:

.....
Tue Dec 30 17:07:06 CST 2008 TRACE:
Tue Dec 30 17:07:06 CST 2008 TRACE:

Exceptions occur...
幫忙解決一下。。。

⑦ java 資料庫查詢某一條記錄

1.可以用離線查詢,就是先把數據都取出來,再用list操作。
2.實時查詢,每次查詢5條記錄,即第一條,下一條,當前記錄,前一條,最後一條。這樣就有了每條記錄的id號,再提交按鈕的是後直接用java查詢,重復即可。

⑧ java中怎麼把資料庫中數據查詢出來

剛剛漏了帳號密碼了,現在補上

try {
//這里的是MYSQL 舉例
//載入驅動
Class.forName("com.mysql.jdbc.Driver");
//創建資料庫連接
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
//創建查詢 「請求」
PreparedStatement ps = con.prepareStatement("select * from user");
//返回查詢結果
ResultSet rs = ps.executeQuery();
//遍歷結果
while(rs.next()) {
//假如 User 表中 有個 name 列
System.out.println("name >> "+rs.getString("name"));
}
//關閉
rs.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}

⑨ 如何用Java實現資料庫查詢

import java.sql.*;
public class MSSQLText
{
public static void main(String args[])
{
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
String user="sa";//這里替換成你自已的資料庫用戶名
String password="sa";//這里替換成你自已的資料庫用戶密碼
String sqlStr="select CustomerID, CompanyName, ContactName from Customers";
try
{ //這里的異常處理語句是必需的.否則不能通過編譯!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("類實例化成功!");

Connection con = DriverManager.getConnection(url,user,password);
System.out.println("創建連接對像成功!");

Statement st = con.createStatement();
System.out.println("創建Statement成功!");

ResultSet rs = st.executeQuery(sqlStr);
System.out.println("操作數據表成功!");
System.out.println("----------------!");

while(rs.next())
{
System.out.print(rs.getString("CustomerID") + " ");
System.out.print(rs.getString("CompanyName") + " ");
System.out.println(rs.getString("ContactName"));
}
rs.close();
st.close();
con.close();
}
catch(Exception err){
err.printStackTrace(System.out);
}
}
}

⑩ java 對資料庫查詢結果進行判斷執行

2個方案吧:
1.用資料庫的 存儲過程 ,相當於資料庫的函數,這裡面可以加 邏輯判斷
這個方法比較少用
2.在客戶端分2步訪問資料庫,第一步登錄,根據返回的數據,再決定是否 更新資料庫,不是在sql語句中邏輯判斷 一般都這么用

閱讀全文

與java資料庫查詢結果相關的資料

熱點內容
正宗溯源碼大燕條一克一般多少錢 瀏覽:913
電腦感染exe文件夾 瀏覽:914
wpsppt怎麼轉pdf格式 瀏覽:86
騰訊文檔在線編輯怎麼添加密碼 瀏覽:868
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664
雲伺服器app安卓下載 瀏覽:966
如何查看linux伺服器的核心數 瀏覽:137
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:646
java與單片機 瀏覽:897
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:624
怎麼使用雲伺服器掛游戲 瀏覽:618
真實的幸福pdf 瀏覽:345
d盤php調用c盤的mysql 瀏覽:266