[英]Connecting MySQL Workbench database to a Java application in NetBeans
[英]Connecting netbeans (JAVA) to MYSQL
問題是,當我運行此代碼時,我總是得到答案COL12,而不是像在MYSQL
工作台中那樣獲得所有包含數據的列。 我需要獲得相同的值。 而且,當我使用此查詢“ DELETE FROM test WHERE col1 = 2;”時 在netbeans中,我收到錯誤異常。
這是我在Netbeans中編寫的代碼。
包裝袋
import java.sql.*;
import java.sql.Statement;
import java.sql.DriverManager;
public class Temp_Class {
public static void main(String[] args){
try {
String query="SELECT * FROM test";
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost/JavaProject", "root", "19881990");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(query);
rs.next();
String sname= rs.getString(2);
System.out.println(sname);
con.close();
} catch (Exception e) {
System.out.println("Error");
}
}
}
我已經在MYSQL
Workbench中進行了表測試,其中column =“ col1,col2,col3”的值=“ 1,COL11,COL12”和“ 2,COL21,COL22”;
這是我用來刪除數據庫中值的代碼。 。 。 但出現錯誤異常。
public static void main(String[] args){
try {
String deletesql="DELETE FROM test WHERE col1 = 2";
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost/JavaProject", "root", "19881990");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(select);
Statement ds=con.createStatement();
ResultSet dsrow=ds.executeQuery(deletesql);
dsrow.next();
String ds1= dsrow.getString(1);
String ds2= dsrow.getString(2);
String ds3= dsrow.getString(3);
System.out.println(ds1+" "+ ds2+" "+ds3);
con.close();
} catch (Exception e) {
System.out.println("Error");
}
}
獲得一列的原因是因為您僅獲取一列
rs.next();
String sname= rs.getString(2); //will give you one column
代替做
while(rs.next){ //get all rows
String col1= rs.getString(0); //get column 1 of respective row
String col2= rs.getString(1); //get column 2 of respective row
System.out.println(col1+" "+col2);
}
String sname= rs.getString(2);
從resultSet返回一列。 如果要具有所有列,則必須使用:
String sname0= rs.getString(0);
String sname1= rs.getString(1);
String sname2= rs.getString(2);
我認為問題出在rs.getString(2)
在這里,您剛剛嘗試獲取第三列。 您可以使用rs.getString(0)和rs.getString(1)來獲取其他值。
測試台
col1 1 2
col2 col11 col21
col3 col12 col22
您是對col1的查詢(即SELECT * FROM test)
字符串sname = rs.getString(2);
的System.out.println(SNAME);
rs.getString(2),即我們正在傳遞列索引,即第二列col2,並在列2中打印第一個值,即1
這里1應該是現實印刷
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.