當前位置:首頁 » 編程語言 » javasql結果集
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javasql結果集

發布時間: 2022-05-01 12:51:45

㈠ java 獲取sql查詢語句返回的結果

step1:構造連接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");

step2:構造語句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //給SQL的"?"(問號)傳值。

step3:執行查詢
ResultSet rs = stmt.executeQuery(); //rs就是SQL查詢語句返回的結果集

step4:處理結果(java 獲取SQL查詢語句返回的結果)
List list = new ArrayList();
//遍歷結果集,這樣寫就可以了,就是一個循環,有多少條記錄,這里就會循環多少次,
//一次就是一條記錄,想像一下就像一個表的一條記錄
//在這里可以做查詢出來的數據處理,可以封裝成對象之類的(就是把值給它)
if(rs.next()) { //遍歷結果集,這樣寫就可以了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面這個例子意思是,把每一條記錄封裝成了一個User對象,然後這些User對象都放存入到了一個list

step4:關閉連接等

㈡ 在java中輸出SQL的所有查詢結果

方法有很多種,看你使用哪一種了
1、最簡單的就是所有代碼都放到jsp裡面,然後直接輸出查詢到的值就好了,但這種方式不提倡
2、使用servlet,將sql代碼放到servlet中,然後將查到的值放入session中,頁面使用bean就可以輸出
3、使用struts2框架,利用action和struts2的標簽就可以輸出
4、……

㈢ 如何在java中獲得sql查詢結果數量

如果使用String
sqlQuery
=
"SELECT
*
FROM
table";
的話,可以使用ResultSet的getRow
(1)首先使用last()方法,將資料庫游標定位到記錄集的最後一行。
(2)使用getRow()方法,返回記錄集最後一行的行索引。該索引就等於記錄集所包含記錄的個數,也就是記錄集的行數。getRow()方法是在JDBC
API
2.0中才定義的,在JDBC
API
1.0中沒有這個方法。
----------------------
SELECT
count(*)
FROM
table
的話,直接從resultset中獲取
rs.getInt(1);

㈣ java如何獲取SQL查詢結果集中的行數和列數

在Java中,獲得ResultSet的總行數的方法有以下幾種。
第一種:利用ResultSet的getRow方法來獲得ResultSet的總行數
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //獲得ResultSet的總行數
第二種:利用循環ResultSet的元素來獲得ResultSet的總行數
ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;}rowCount就是ResultSet的總行數。
第三種:利用sql語句中的count函數獲得ResultSet的總行數
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");}rowCount就是ResultSet的總行數。
·*****************************************************************************************************************
·Java中獲得ResultSet的總列數是非常簡單事情,因為Java中ResultSet提供了ResultSetMetaData工具類,ResultSetMetaData是ResultSet的元數據的集合說明。
java獲得ResultSet總列數的代碼如下:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourtable");
ResultSetMetaData rsmd = rset.getMetaData() ;
columnCount就是ResultSet的總列數。

㈤ java sql語句,查詢結果集,下面是具體代碼

null空指針異常,voteDao.java第63行
注意下!
st
為空?只有這樣了!
看下你的st是怎麼創建的

㈥ 關於java中拼接sql,表名作為參數,返回結果集怎麼接 [問題點數:30分]

通常通過SQL查詢語句查出來的結果集封裝在ResultSet對象中,然後我們會這樣處理:
把ResultSet對象中的數據取出來並封裝在javabean中,所以我們需要這樣寫(我假設這里的javabean是Student.java 裡面有private String name和private int id兩個屬性 ,當然你需要生成對應的getter和setter方法)
while(rs.next()){
Student s=new Student();
s.setName(rs.getString("name"));
s.setId(rs.getInt("id"));
return s;
}

這樣就把相應的數據封裝進javabean對象中了,當然還有一種簡便的方法是用Apache開源組織的dbUtils工具 詳看API 這個太多不好說

㈦ java.sql.SQLException: 結果集已耗盡

不知道是不是想要這樣的效果
改動第二個table
<table width="777" border="0" cellspacing="0" cellpadding="0" align="center" style="top: 131px; height: 30px;">
<% rs.beforeFirst();//重置結果集,然後重新開始循環
while(rs.next) {

<tr>
<td align="left"><b><font size="2">用戶序號:</font></b></td>
<td><input type="text" name="publish_id" size="12" value = ""></td>
</tr>
<tr>
<td align="left"><b><font size="2">用戶名:</font></b></td>
<td><input type="text" name="publish_name" size="12" value = "<%rs.getString("publish_name"); %>"></td>
</tr>
<tr>
<td align="left"><b><font size="2">時間:</font></b></td>
<td><input type="date" name="publish_time" size="12" value = "<%rs.getString("publish_time"); %>"></td>
</tr>
<tr>
<td align="left"><b><font size="2">發布內容:</font></b></td>
<td>
<textarea name="publish_text" cols="40" rows="5" bgcolor="73A2D6" ><%rs.getString("publish_text"); %></textarea>
</td>
</tr>
<tr><td><input type="submit" name="Submit" value="提交"></td></tr>
<%
}
%>
</table>

㈧ java 執行SQL返回結果

private static Connection con = null;
private static PreparedStatement pst = null;
private static ResultSet rs = null;

public static int CheckUser(String username,String password)
{
int i = 0;
try
{
con = ConnectionDatabase.GetConnections();
pst = con.prepareStatement("sql語句");
rs = pst.executeQuery();
if(rs.next())
{
i = 10;
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
rs.close();
pst.close();
con.close();
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
return i;
}這是一個查詢執行的代碼,,,你這里應該將這個sql語句傳到這個方法裡面,,然後執行就可以啦。

㈨ java 如何將SQL結果集添加到數組里

假設mysql中test資料庫中有個表式score,有數據,我只取第一列的數據出來:
public void mysqlConnection(){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();//資料庫驅動
String url = "jdbc:mysql://localhost:3306/test";//資料庫鏈接地址
String user = "root";//用戶名
String password = "";//密碼
Connection conn = DriverManager.getConnection(url, user, password);//建立connection
Statement stmt = conn.createStatement();
conn.setAutoCommit(false);// 更改jdbc事務的默認提交方式

String sql = "select * from score";//查詢語句
ResultSet rs = stmt.executeQuery(sql);//得到結果集
conn.commit();//事務提交
conn.setAutoCommit(true);// 更改jdbc事務的默認提交方式
List<String> list=new ArrayList<String>();//創建取結果的列表,之所以使用列表,不用數組,因為現在還不知道結果有多少,不能確定數組長度,所有先用list接收,然後轉為數組
while (rs.next()) {//如果有數據,取第一列添加如list
list.add(rs.getString(1));
}
if(list != null && list.size()>0){//如果list中存入了數據,轉化為數組
String[] arr=new String[list.size()];//創建一個和list長度一樣的數組
for(int i=0;i<list.size();i++){
arr[i]=list.get(i);//數組賦值了。
}
//輸出數組
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}