在jsp中写数据库总是提示while (rs1.next())错误
代码:<selectname="ObjectID"id="ObjectID"><%DBConnectmyDBConnect1=newDBConnect();ResultS...
代码:
<select name="ObjectID" id="ObjectID">
<%
DBConnect myDBConnect1 = new DBConnect();
ResultSet rs1 = null;
String SqlQuery1;
String name="";
if(session.getAttribute("user")==null)
response.sendRedirect("denglu.jsp");
else
name=session.getAttribute("user").toString();
SqlQuery1 = "select ID from order where xdr= '"+name+"'";
System.out.println(SqlQuery1);
rs1 = myDBConnect1.executeQuery(SqlQuery1);
String ID;
try {
while (rs1.next()) {
ID = rs1.getString("ID");
%>
<option value="<%=ID%>"><%=ID%></option>
<%
}
myDBConnect1.close();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</select>
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] FROM 子句语法错误。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at DBUtils.DBConnect.executeQuery(DBConnect.java:38) 展开
<select name="ObjectID" id="ObjectID">
<%
DBConnect myDBConnect1 = new DBConnect();
ResultSet rs1 = null;
String SqlQuery1;
String name="";
if(session.getAttribute("user")==null)
response.sendRedirect("denglu.jsp");
else
name=session.getAttribute("user").toString();
SqlQuery1 = "select ID from order where xdr= '"+name+"'";
System.out.println(SqlQuery1);
rs1 = myDBConnect1.executeQuery(SqlQuery1);
String ID;
try {
while (rs1.next()) {
ID = rs1.getString("ID");
%>
<option value="<%=ID%>"><%=ID%></option>
<%
}
myDBConnect1.close();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</select>
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] FROM 子句语法错误。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at DBUtils.DBConnect.executeQuery(DBConnect.java:38) 展开
2个回答
展开全部
关键要看控制台打印的错误信息,才能确定具体错误是什么。
光看这个只能靠猜的,比如数据库连接没有取得(连接地址错误),数据库驱动包没有加入,数据库表没有建立等。
------------------------------------
错误信息提示SQL语法错误,因为你的表名是order,而order是sql语句中的关键字,所以这里不能这么直接写,需要为表名前后加入中括号。
所以SQL要改成: SqlQuery1 = "select ID from [order] where xdr= '"+name+"'";
光看这个只能靠猜的,比如数据库连接没有取得(连接地址错误),数据库驱动包没有加入,数据库表没有建立等。
------------------------------------
错误信息提示SQL语法错误,因为你的表名是order,而order是sql语句中的关键字,所以这里不能这么直接写,需要为表名前后加入中括号。
所以SQL要改成: SqlQuery1 = "select ID from [order] where xdr= '"+name+"'";
追问
An error occurred at line: 29 in the jsp file: /home/dd.jsp
The local variable name may not have been initialized
29: String GetInfoSql="select * from dd where xdr = '"+name+"'";
追答
name变量没有初始化就直接使用了,所以需要在前面声明你的name变量的地方为name设置一个值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询