java按條件查詢代碼 java按條件查詢數(shù)據(jù)庫

Java中數(shù)據(jù)庫實現(xiàn)多條件查詢(條件是不確定的,可以是一個,兩個,三個,四個,五個)!

你這樣做輸出SS語句調(diào)試看看,你會發(fā)現(xiàn)你輸出的SQL語句有問題!

成都創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計,五常網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:五常等地區(qū)。五常做網(wǎng)站價格咨詢:18982081108

String ss="SELETE * FROM MESSAGE WHERE";

int i=1;char c='"';

if(na!=null)

{ss=ss+"AND 姓名='"+na+"'";i=0;

System.out.println(ss);

}

if(se!="")

{

if(i==0){ss=ss+"AND 性別='"+se+"'";i=0;}

else {ss=ss+"AND 性別='"+se+"'";i=1;}

}

if(xi!="")

{

if(i==0){ss=ss+"AND 系別='"+xi+"'";i=0;}

else {ss=ss+"AND 系別='"+xi+"'";i=1;}

}

if(zh!="")

{

if(i==0){ss=ss+"AND 專業(yè)='"+zh+"'";i=0;}

else {ss=ss+"AND 專業(yè)='"+zh+"'";i=1;}

}

if(ni!="")

{

if(i==0){ss=ss+"AND 年級='"+ni+"'";}

else {ss=ss+"AND 年級='"+ni+"'";}

}

ss=c+ss+c;

rs=sql.executeQuery(ss);

就拿第一個SQL語句來做示范,加入你的na值為abc,輸出的SS是 SELETE * FROM MESSAGE WHEREAND 姓名= 'abc'

仔細(xì)一看就知道SQL語句上很嚴(yán)重的錯誤 WHERE 后面接了AND關(guān)鍵詞

可以這樣改:ss=ss+" " + "姓名='"+na+"'" +" " +"AND";

最后使用replaceAll('AND$', ")") 替換最后一個AND字符穿?;蛘呤褂米址麆?chuàng)截取 去掉最后三個字符(AND)

求助用JAVA實現(xiàn)數(shù)據(jù)庫帶條件查詢

我這里有個現(xiàn)成的數(shù)據(jù)庫連接類

先配個數(shù)據(jù)源

import java.sql.*;

public class DB{

Connection con;

Statement stt;

private void begin()

{

if(con!=null||stt!=null)

{

this.closs();

}

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con = DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)源名");

stt = con.createStatement();

}

public Resultset qu(String sql)

{

this.begin();

return stt.executeQuery(sql);

}

public boolean cun(String sql)

{

this.begin();

return stt.execute(sql);

}

public void closs()

{

stt.close();

con.close();

}

}

要用的時候 DB a = new DB()

a.qu("select * from 你的表名 where 你表中書名的那一列的列名 like '%書名%'")

%是通配符 就是說如果書名是"12ab45" 你輸入"ab 也能查詢到" 如果不需要可以去掉%

a.qu()

返回一個ResultSet

你可以創(chuàng)建一個數(shù)組

String[][] b = new String[返回的Result的條數(shù)][JTable中需要顯示的列數(shù)量]

用new JTable(String[][],String[])的方法來構(gòu)造這個表吧

java中的條件查詢怎么寫

import java.sql.Connection;

import java.sql.Date;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.sql.PreparedStatement;

public class JDBC {

private Connection con = null;

private Statement stmt = null;

private ResultSet rs = null;

private String driver = "com.mysql.jdbc.Driver";

private String url="jdbc:mysql://localhost:3306/dataname

?characterEncoding=GBK";

private String user = "root";

private String password = "mysql";

/**

* 準(zhǔn)備連接

*/

public void startConnection() throws ClassNotFoundException, SQLException {

Class.forName(driver); //注冊數(shù)據(jù)庫驅(qū)動

con = DriverManager.getConnection(url, user, password); //獲得數(shù)據(jù)庫連接

}

/**

* 執(zhí)行select 并返回結(jié)果集 throws SQLException

*/

public ResultSet query(String sql) throws SQLException {

stmt = con.createStatement(); //創(chuàng)建Statement

rs = stmt.executeQuery(sql); //執(zhí)行查詢

return rs;

}

/**

* 執(zhí)行insert update delete

*/

public int update(String sql) throws SQLException {

stmt = con.createStatement();

int r = stmt.executeUpdate(sql);

return r;

}

/**

* 釋放資源(連接)

*/

public void releaseConnection() {

try {

if (rs != null)

rs.close();

stmt.close();

if (con != null)

con.close();

} catch (SQLException e) {

e.printStackTrace(); }

} }

本文題目:java按條件查詢代碼 java按條件查詢數(shù)據(jù)庫
轉(zhuǎn)載注明:http://muchs.cn/article14/hgspde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)站導(dǎo)航、移動網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)頁設(shè)計公司、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作