如何用Java编写prepareStatement
我想使用如何用Java编写prepareStatement,java,servlets,jdbc,Java,Servlets,Jdbc,我想使用getParameter进入Strings和ints,并使用prepareStatement和SQL将它们放入数据库。它给出了setString和setInt的错误 try { String id = request.getParameter("clientid"); String cname = request.getParameter("clientname"); String address = request.getParameter("address")
getParameter
进入String
s和int
s,并使用prepareStatement
和SQL将它们放入数据库。它给出了setString
和setInt
的错误
try {
String id = request.getParameter("clientid");
String cname = request.getParameter("clientname");
String address = request.getParameter("address");
String phonemodel= request.getParameter("phonemodel");
String imei = request.getParameter("imei");
String problem = request.getParameter("problem");
String date2 = request.getParameter("date");
String comments1= request.getParameter("comments");
int clientid = Integer.parseInt(id);
int imeino = Integer.parseInt(imei);
// int date1 = Integer.parseInt(date2);
Statement pstmt;
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/sample", "app" , "app");
pstmt=con.prepareStatement("Insert into movilapp(id,clientname,address,modle,imei,problem,date,comments) values(?,?,?,?,?,?,?,?)");
pstmt.setInt(1,clientid);
pstmt.setString(2,cname );
pstmt.setString(3,address);
pstmt.setString(4,phonemodel);
pstmt.setInt(5,imeino);
pstmt.setString(6,problem);
pstmt.setString(7, comments1);
pstmt.executeUpdate();
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
您调用了
con.prepareStatement
来获取一个PreparedStatement
,但随后您将其分配给了类型为Statement
的变量,因此Java不知道有一个PreparedStatement
特定的方法setString
通过将pstmt的声明类型从更改为,将其分配给实际的PreparedStatement
变量
Statement pstmt;
到
*如果使用语句
,则其语法为*
对于PreparedStatement
PreparedStatement pstmt = null;
String SQL = "Update Employees SET age = ? WHERE id = ?";
pstmt = conn.prepareStatement(SQL);
psmt.setInt(1,30);
psmt.setInt(2,1003);
psmt.executeUpdate(SQL);
所以改变语句pstmt代码>到PreparedStatement pstmt=null代码>和它将工作
Statement stmt = null;
stmt = conn.createStatement( );
String sql = "UPDATE Employees set age=30 WHERE id=103";
stmt.executeUpdate(sql);
PreparedStatement pstmt = null;
String SQL = "Update Employees SET age = ? WHERE id = ?";
pstmt = conn.prepareStatement(SQL);
psmt.setInt(1,30);
psmt.setInt(2,1003);
psmt.executeUpdate(SQL);