在java表单MySQL中读取数据
我正在编写连接MySQL数据库的java代码。我有一个连接,但我无法在JFrame的标签中显示数据。因此,我连接到我的XAMPP数据库中的数据库软件,但我无法获取要显示在标签中的数据在java表单MySQL中读取数据,java,mysql,Java,Mysql,我正在编写连接MySQL数据库的java代码。我有一个连接,但我无法在JFrame的标签中显示数据。因此,我连接到我的XAMPP数据库中的数据库软件,但我无法获取要显示在标签中的数据 ResultSet rs; ResultSetMetaData rsmd = null; int colCount = 0; String[] colNames = null; try { rs = engine.executeQuery("select * from music");
ResultSet rs;
ResultSetMetaData rsmd = null;
int colCount = 0;
String[] colNames = null;
try {
rs = engine.executeQuery("select * from music");
rsmd = rs.getMetaData();
colCount = rsmd.getColumnCount();
colNames = new String[colCount];
for (int i = 1; i <= colCount; i++) {
colNames[i - 1] = rsmd.getColumnName(i);
}
String[] currentRow = new String[colCount];// array to hold the
// row data
while (rs.next()) { // move the rs pointer on to the next record
// (starts before the 1st)
for (int i = 1; i <= colCount; i++) {
currentRow[i - 1] = rs.getString(i);
}
}
//System.out.println(authenticated);
}
catch (SQLException a)
{
System.err.println("SQLException: " + a.getMessage());
}
ResultSet-rs;
ResultSetMetaData rsmd=null;
int colCount=0;
字符串[]colNames=null;
试一试{
rs=引擎执行(“从音乐中选择*);
rsmd=rs.getMetaData();
colCount=rsmd.getColumnCount();
colNames=新字符串[colCount];
对于(inti=1;i使用此代码进行工作
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.ResultSetMetaData;
public class Db {
public static void main(String arg[]) throws SQLException,
ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost/dbname", "root", "");
java.sql.Statement stmt = conn.createStatement();
String query = "select * from music";
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int columncount = rsmd.getColumnCount();
for(int i = 1 ; i < columncount ; i ++)
System.out.print(rsmd.getColumnName(i));
System.out.println();
while (rs.next()) {
for(int i = 1 ; i < columncount ; i ++)
{
System.out.print(rs.getString(i));
}
System.out.println();
}
conn.close();
}
}
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入java.sql.ResultSetMetaData;
公共类数据库{
公共静态void main(字符串arg[])引发SQLException,
ClassNotFoundException{
Class.forName(“com.mysql.jdbc.Driver”);
连接连接=DriverManager.getConnection(
“jdbc:mysql://localhost/dbname“,”根“,”);
java.sql.Statement stmt=conn.createStatement();
字符串查询=“从音乐中选择*”;
ResultSet rs=stmt.executeQuery(查询);
ResultSetMetaData rsmd=rs.getMetaData();
int columncount=rsmd.getColumnCount();
对于(int i=1;i
既然您想为DB连接使用单独的类,并在其他地方使用此连接,您可以这样做
public class SQLConnect {
public static Connection ConnectDb() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost/databasename", "root", "");
} catch (SQLException ex) {
Logger.getLogger(SQLConnect.class.getName()).log(Level.SEVERE, null, ex);
}
return conn;
}
catch (ClassNotFoundException e) {
System.out.println("not connected");
e.printStackTrace();//print extra info if error is thrown
return null;
}
}
}
并按如下方式使用该类
Connection conn = null;
ResultSet rs = null;
PreparedStatement pst = null;
try {
conn = SQLConnect.ConnectDb();
String sql = "SELECT * FROM somedatabase WHERE somevalue = ? ";
pst = conn.prepareStatement(sql);
pst.setString(1, CriminalID);
rs = pst.executeQuery();
if(rs.next()) {
/*
* set values of labels to those from database
*/
jLabel.setText(rs.getString("Column name"));
}
这将从数据库中获取数据,其中一些值等于您指定的值可以告诉您我可以使用什么,因为我有一个单独的SQLEngine类,所以它不在一个类中。package softwareDesign;import java.sql.DriverManager;import java.sql.Connection;import java.sql.ResultSet;import java。sql.SQLException;import java.sql.Statement;公共类MySQLEngine{Connection conn;String dbName=“software”;String driver=“com.mysql.jdbc.driver”;String url=“jdbc:mysql://localhost:3306/“字符串用户名=”根“字符串密码=”;公共MySQLEngine(字符串用户名,字符串密码){conn=null;this.username=username;this.password=password;}//first partpublic void connect(){try{Class.forName(driver.newInstance();conn=DriverManager.getConnection(url+dbName,username,password);System.out.println(“建立连接”);//conn.close();}catch(异常e){System.out.println(“尚未建立连接”);}}}public ResultSet executeQuery(String sqlStatement)抛出SQLException{ResultSet rs=null;try{Statement s=conn.createStatement();rs=s.executeQuery(sqlStatement);}catch(SQLException e){throw e;}返回rs;}//第二部分这是类MySQLEngine,它是与数据库的已建立的public void connect()连接的地方{try{class.forName(driver.newInstance();conn=DriverManager.getConnection(url+dbName,username,password);System.out.println(“建立连接”);executeQuery(“你的查询是什么样的”);conn.close();}catch(异常e){System.out.println(“尚未建立连接”);}