- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在修改一个 Java Web 应用程序,该应用程序是以前(由其他人)编写的,它使用 JDBC。该数据库是使用 PHPMyAdmin 创建的。在此过程中,我需要重命名其中一张表。我在代码中用正确的名称替换了旧名称,但现在当我尝试插入新记录时,应用程序似乎正在搜索旧表。
这是异常(exception):
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'test.reclamation' doesn't exist
reclamation
是表的旧名称。
这是我的代码:
public class ServletUserEnquiryForm extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
/**Process the HTTP Get request*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
request.setCharacterEncoding("UTF-8");
String shop = request.getParameter("shop");
System.out.println(shop);
String name = request.getParameter("names");
System.out.println(name);
String tell = request.getParameter("tell");
String stoke = request.getParameter("stoke");
String model = request.getParameter("model");
String barcod = request.getParameter("barkod");
String bon = request.getParameter("bon");
String fack = request.getParameter("fack");
if(fack.equals("")){
fack = "0";
}
String comentar = request.getParameter("comentar");
String reasonable = request.getParameter("reasonable");
if(reasonable == "yes")
{
reasonable = "yes";
}
else
{
reasonable = "no";
}
String in_store = request.getParameter("in_store");
if(in_store == "yes")
{
in_store = "yes";
}
else
{
in_store = "no";
}
String satisfaction = request.getParameter("satisfaction");
if(satisfaction == "zamqna")
{
satisfaction = "Замяна";
}
else
if(satisfaction == "remont")
{
satisfaction = "Ремонт";
}
else
if(satisfaction == "namalenie")
{
satisfaction = "Намаление";
}
else
if(satisfaction == "return")
{
satisfaction = "Връщане на сума";
}
//String okomplektovka = request.getParameter("okomplektovka");
String type_return = request.getParameter("type_return");
if(type_return == "sum")
{
type_return = "sum";
}
else
if(type_return == "bank")
{
type_return = "bank";
}
else
type_return = "";
String sum = request.getParameter("sum");
if(sum == "")
{
sum = "0.00";
}
String iban = request.getParameter("iban");
if(iban =="")
{
iban = "N/A";
}
String servis = request.getParameter("servis");
if(reasonable != null && in_store != null && satisfaction != null && type_return != null)
{
try {
Connection con = dbSQL.getConnection();
String tableName = "shop_"+shop;
String sql = "INSERT INTO " + tableName + " (name,tel,product_type,model,genkod,receipts,invoice,description,reasonable,in_store,satisfaction,type_return,sum,iban,shop,data_in,servis)" + " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, sysdate(), ?)";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = null;
ps.setString(1, name);
ps.setString(2, tell);
ps.setString(3, stoke);
ps.setString(4, model);
ps.setString(5, barcod);
ps.setString(6, bon);
ps.setString(7, fack);
ps.setString(8, comentar);
ps.setString(9, reasonable);
ps.setString(10, in_store);
ps.setString(11, satisfaction);
ps.setString(12, type_return);
ps.setString(13, sum);
ps.setString(14, iban);
ps.setString(15, shop);
ps.setString(16, servis);
ps.executeUpdate();
ps.close();
}
catch(Exception e){
}
finally {
}
}
}
}
工作正常,直到到达 ps.executeUpdate()
并且我看不出问题出在哪里。
这是dbSQL
的定义:
public class dbSQL {
private static final String DB_HOST ="192.168.15.26";
private static final String DB_USER = "root";
private static final String DB_PASS = "passs";
private static final String DB_NAME = "test?characterEncoding=UTF-8";
private static final String useDB = "mysql";
public static Connection getConnection() throws ClassNotFoundException {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://" + DB_HOST + ":3306/" + DB_NAME, DB_USER, DB_PASS);
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
return conn;
}
}
最佳答案
“tableName”在哪里定义?您的 SQLExceptions 声明该表不存在,因此请检查“tableName”的定义并将其设置为正确的表名称。
关于java - 更改表名后 ExecuteUpdate() 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460936/
这个问题已经困扰两天了。尝试了我能想到的一切。非常感谢您在这个问题上给我的任何帮助。提前致谢。` try { // try get tx records Class.forName("com
我有如下代码: using (var session = this.sessionCreator.OpenSession()) using (var transaction = session.Beg
我有以下代码: sql = update [myTable] set content = '" map.getString() + "' where id = " map.getKey(); stmt
我创建了这样的声明: String query = "INSERT INTO ZMONES (ID, PAVADINIMAS, SLAPTAZODIS) VALUES(" +sum+" ,"+
请我想向数据库添加一个元素,但我仍然遇到此错误,我不知道错误到底在哪里,并且我确定 sql 查询和我的数据库 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxEr
我想知道,如何关闭 JAVA(JDBC) 中的executeUpdate 语句? 例如: String sql = "UPDATE. .. . .. Whatever..."; ResultSet
PreparedStatement updatestmt1 = con.prepareStatement("update BASE_TX set tx_vl=replace(tx_vl,?,?)");
使用 readline 5.1 运行 mysql Ver 15.1 Distrib 5.5.44-MariaDB,适用于 Linux (x86_64) 我编写了一个 Java servlet,它在 S
今天我遇到了这样的情况:程序启动,正常运行,显示数据已正确输入数据库,但没有执行。我再次运行脚本,它运行良好,但有趣的是它没有抛出异常,尽管它未能插入数据。 是否存在 Statement.execut
你好,祝大家新年快乐。 我正在开发一个 JDBC 程序,它获取服务器中的每个数据库,访问每个表并收集有关这些列的信息。最后,我想将表中的每一行信息添加为行。我的程序可以正确编译和运行,但表总是返回 E
我得到一个异常(exception) com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be t
我正在尝试在某些应用程序中进行手动订购。更新字段的 JPAQL 是这样的: update SortableBean s set s.position = s.position + 1 where s.
这是我的代码: String insertQuery = "INSERT INTO Links(PageId, LinkId) values(?, ?)"; PreparedStatement pre
我一直在尝试执行以下查询: SQL_ADDPROJECT = "INSERT INTO project (name, description, duration, departement, chef)
我的目标是向我创建的现有表中添加一个新行。但是,我收到以下错误。 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have
如果我有一个使用以下架构创建的表: CREATE TABLE names (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR); 还有一个 List na
我正在 JBehave 非 Maven 框架中工作,并且正在运行一个文本文件内的插入语句,我将其作为 qry 传递给我的方法。插入语句为: Insert into croutreach.ACME_OU
我正在修改一个 Java Web 应用程序,该应用程序是以前(由其他人)编写的,它使用 JDBC。该数据库是使用 PHPMyAdmin 创建的。在此过程中,我需要重命名其中一张表。我在代码中用正确的名
所以我试图将信息从java应用程序存储到数据库中,但我收到此错误:“”AWT-EventQueue-0“java.lang.NullPointerException”并且我一生都找不到原因。我尝试更改
我使用以下代码通过 postgres 的更新查询更改密码。 @POST @Path("/changepassword") @Consumes(MediaType.APPLICATION_JSON) p
我是一名优秀的程序员,十分优秀!