Java eclipse中的预处理语句执行
}Java eclipse中的预处理语句执行,java,mysql,eclipse,jdbc,Java,Mysql,Eclipse,Jdbc,} 使用上述代码,我无法在运行配置中传递args值。我收到一个数字格式异常。如何解决此问题。如何在运行配置的“参数”选项卡中传递args。仔细查看您的代码: String query=“从学生信息中选择*,其中regno=?” +“firstname=?”; 完全等同于 String query=“从学生信息中选择*,其中regno=?firstname=?”; 让我们假设当您替换查询参数regno=1和args[1]=“Gord”时。重新查询SQL查询将如下所示: 从学生信息中选择*,其中
使用上述代码,我无法在运行配置中传递args值。我收到一个数字格式异常。如何解决此问题。如何在运行配置的“参数”选项卡中传递args。仔细查看您的代码:
String query=“从学生信息中选择*,其中regno=?”
+“firstname=?”;
完全等同于
String query=“从学生信息中选择*,其中regno=?firstname=?”;
让我们假设当您替换查询参数regno=1
和args[1]=“Gord”
时。重新查询SQL查询将如下所示:
从学生信息中选择*,其中regno=1firstname='Gord'
这是无效的语法。WHERE子句中的两个条件需要使用布尔运算符组合:和
或或
。因此,原始查询字符串需要为
String query=“从学生信息中选择*,其中regno=?”
+“名字=?”;
或
String query=“从学生信息中选择*,其中regno=?”
+“或名字=?”;
我正在从run configuration@peeskillett传递参数。代码看起来不错。哪一行给了您异常?您到底在键入什么?在运行配置选项卡中键入5,名称1异常如下线程“main”java.lang.NumberFormatException中的异常:对于输入字符串,java.lang.NumberFormatException.forInputString(未知源)在java.lang.Integer.parseInt(未知源)中的异常:“5,suhas”在com.first.Preparedstatement.main(Preparedstatement.java:38)的java.lang.Integer.parseInt(未知源代码)@peeskilletcommand行参数由空格而不是逗号分隔。
public static void main(String[] args)
{
Connection con=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
/*
* 1.load the driver
* driver class :com.mysql.jdbc.Driver
*/
try {
Driver driverref=new Driver();
DriverManager.registerDriver(driverref);
/*
* 2.get db connection via driver
*/
String DbUrl="jdbc:mysql://localhost:3306/college?user=suhas&password=j2ee";
con=DriverManager.getConnection(DbUrl);
/*
* 3.issue SQL queries via Connection
*/
String query="select * from Students_info where regno=?"
+"firstname=?";
pstmt=con.prepareStatement(query);
String regnum=args[0];
int regno=Integer.parseInt(regnum);
pstmt.setInt(1,regno);
pstmt.setString(2, args[1]);
rs=pstmt.executeQuery();
/*
* 4.process the results returned by sql query
*/
while(rs.next()){
int dbregno=rs.getInt("regno");
String fname=rs.getString("firstname");
String mname=rs.getString("middlename");
String lname=rs.getString("lastname");
System.out.println("regno "+dbregno);
System.out.println("first name "+fname );
System.out.println("middlename "+mname);
System.out.println("lastname "+lname);
}//end of while
}
catch (SQLException e)
{
e.printStackTrace();
}
finally{
/*
* close all jdbc objects
*/
try {
if(con!=null){
con.close();
}
if(pstmt!=null){
pstmt.close();
}
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}