我在包帮手,ProcessBean.java和DBHandler.java找不到符号,符号:变量DBHandler位置:类ProcessBean
ProcessBean.java两类:
package helpers;
import java.util.*;
import java.sql.*;
public class ProcessBean implements java.io.Serializable {
public ProcessBean() {}
public String processRequest(String option) {
String query = "";
String type = option.split("|")[0];
int id = Integer.parseInt(option.split("|")[1]);
if(type.equals("category"))
query = "Select * from products where categoryId="+id;
else if(type.equals("vendor"))
query = "Select * from products where vendorId="+id;
else
query = "select * from products";
Vector<String []> v = DBHandler.doQuery(query);
return DBHandler.getQueryResultTable(v);
}
}
DBHandler.java:
package helpers;
import java.util.*;
import java.sql.*;
public class DBHandler implements java.io.Serializable {
public static Vector<String []> doQuery(String s) {
String user = "xxx";
String password = "xxx";
String database = "xxx";
String connectionURL = "jdbc:mysql://opatija:3306/" + database +
"?user=" + user + "&password=" + password;
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
Vector<String[]> v = new Vector<String[]>();
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL);
statement = connection.createStatement();
resultSet = statement.executeQuery(s);
ResultSetMetaData md = resultSet.getMetaData();
int numCols = md.getColumnCount();
while(resultSet.next()) {
String [] tmp = new String[numCols];
for(int i=0; i < numCols; i++)
tmp[i] = resultSet.getString(i+1); // resultSet getString is 1 based
v.add(tmp);
}
}
catch(Exception e) {
e.printStackTrace();
}
finally {
try {
resultSet.close();
statement.close();
connection.close();
}
catch(SQLException e) {} // don't do anything if the connection is not open.
}
return v;
}
public static int doUpdate(String s) {
String user = "xxx";
String password = "xxx";
String database = "xxx";
String connectionURL = "jdbc:mysql://opatija:3306/" + database +
"?user=" + user + "&password=" + password;
Connection connection = null;
Statement statement = null;
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL);
statement = connection.createStatement();
result = statement.executeUpdate(s);
}
catch(Exception e) {
e.printStackTrace();
}
finally {
try {
statement.close();
connection.close();
}
catch(SQLException e) {} // don't do anything if the connection is not open.
}
return result;
}
public static String getQueryResultTable(Vector<String []> v) {
StringBuffer toReturn = new StringBuffer();
toReturn.append("<table>");
for(int i=0; i < v.size(); i++) {
String [] tmp = v.elementAt(i);
toReturn.append("<tr>");
for(int j=0; j < tmp.length; j++)
toReturn.append("<td>" + tmp[j] + "</td>");
toReturn.append("</tr>");
}
toReturn.append("</table>");
return toReturn.toString();
}
}
当我编译ProcessBean,我得到这个错误
ProcessBean.java:21: error: cannot find symbol
Vector<String []> v = DBHandler.doQuery(query);
^
symbol: variable DBHandler location: class ProcessBean
ProcessBean.java:22: error: cannot find symbol
return DBHandler.getQueryResultTable(v);
^
symbol: variable DBHandler location: class ProcessBean
2 errors
我用notepad++
,mac
和xQuartz
连接到服务器,CD所有到文件夹“帮手”的方式,然后命令 -
javac ProcessBean.java
这两个文件都位于服务器上的文件夹助手下,DBHandler
已成功编译。 尝试了一切,但我无法弄清楚。
任何帮助,高度赞赏。
你没有正确使用矢量,或者你没有输入正确的矢量。无论哪种方式,问题与你的载体。 –
哦,不要介意,对不起,你的错误信息真的不清楚。 –