【发布时间】:2017-03-26 16:33:46
【问题描述】:
为什么会出错,找不到符号
PreparedStatement ps = connection.prepareStatement(sql);
^
variable connection
但是变量连接已经像这样声明了: *我输入了正确的用户名、密码和网址
try {
Class.forName("org.postgresql.Driver");
}
catch (java.lang.ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
String url = "jdbc:postgresql://stampy.db.elephantsql.com/";
String username = "";
String password = "";
Connection connection = DriverManager.getConnection(url, username, password);
List<AdvDetail> list = new ArrayList();
} catch(SQLException e) {
System.out.println(e.getMessage());
}
我有导入库
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.*;
import a1.kmita.com.model.Adv;
import a1.kmita.com.model.AdvDetail;
import a1.kmita.com.listener.ExceptionListener;
import a1.kmita.com.model.Response;
和其他 spring 库
这里是代码
try {
String sql = "INSERT INTO advert (ad_title, ad_desc, ad_price, ad_image1,) VALUES (?, ?, ?, ?)"; /* this is the query */
PreparedStatement ps = connection.prepareStatement(sql); /* this is error */
ps.setString(1, product_name);
ps.setString(2, product_desc);
ps.setInt(3, product_price);
ps.setString(4, image1);
ps.executeUpdate();
ps.close();
} catch(SQLException e) {
System.out.println(e.getMessage());
}
【问题讨论】:
-
你在哪里声明了
connection对象? -
我不知道这是否会影响任何事情,但您似乎在
ad_image1之后多了一个逗号。在你的 sql 字符串中 -
@javaguy: ahem
connection变量。未声明对象。 -
@javaguy 我在上面声明连接尝试
标签: java spring jdbc prepared-statement spring-jdbc