我一直在尝试编写一个连接到mysql
db 并从中检索数据的 Java 程序。
我编写了一个成功运行的简单程序,但下面的代码片段引发了一些我什至没有听说过的错误。
片段如下:
public class test{
String rows,rows1;
String dbUrl = "jdbc:mysql://localhost:3306/login";
String dbClass = "com.mysql.jdbc.Driver";
public static void main(String args[]){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl,"root","");
Statement stmt = con.createStatement();
String query="select distinct(username) from tracking";
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
rows=rs.getString("username");
System.out.println(rows);
String query1="select distinct(session_id) from tracking where username='"+rows+"'";
ResultSet rs1=stmt.executeQuery(query1);
while(rs1.next())
{
rows1=rs1.getString("session_id");
String query2="select * from tracking where username='"+rows+"' and session_id='"+rows1+"'";
ResultSet rs2=stmt.executeQuery(query2);
while(rs2.next())
{
System.out.println("Result"+rs2.getString("method"));
}
}
}
con.close();
}
catch(ClassNotFoundException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
};
错误如下
test.java:12: error: non-static variable dbUrl cannot be referenced from a stati
c context
Connection con = DriverManager.getConnection (dbUrl,"root","");
^
test.java:19: error: non-static variable rows cannot be referenced from a static
context
rows=rs.getString("username");
^
test.java:20: error: non-static variable rows cannot be referenced from a static
context
System.out.println(rows);
^
test.java:21: error: non-static variable rows cannot be referenced from a static
context
String query1="select distinct(session_id) from tracking where username='"+rows+
"'";
^
test.java:25: error: non-static variable rows1 cannot be referenced from a stati
c context
rows1=rs1.getString("session_id");
^
test.java:26: error: non-static variable rows cannot be referenced from a static
context
String query2="select * from tracking where username='"+rows+"' and session_id='
"+rows1+"'";
^
test.java:26: error: non-static variable rows1 cannot be referenced from a stati
c context
String query2="select * from tracking where username='"+rows+"' and session_id='
"+rows1+"'";
我无法理解这里的错误。