我正在尝试将记录添加到数据库中。我在这个功能中找不到错误。谁有人可以帮忙?
public static void insertTable(int idEmployee , String First_Name , String Last_Name , String Password , int Sex , String Mail , int Employee_idEmployee ) throws Exception {
Connection conn = (Connection) getConnection() ;
try {
PreparedStatement insertStatement = (PreparedStatement) conn.prepareStatement("INSERT INTO employee (?,?,?,?,?,?,?) VALUES (?,?,?,?,?,?,?)");
insertStatement.setInt(1, idEmployee);
insertStatement.setString(2, First_Name);
insertStatement.setString(3, Last_Name );
insertStatement.setString(4, Password);
insertStatement.setInt(5, Sex);
insertStatement.setString(6, Mail);
insertStatement.setInt(7 ,Employee_idEmployee);
insertStatement.close();
conn.close() ;
System.out.println("it's ok");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
并在Main
insertTable(4 , "test" , "test" , "test" , 1 , "test" , 4 );
这是prtSc表:
答案 0 :(得分:0)
啊,我想我发现了你的错误。
而不是以下内容:
"INSERT INTO employee (?,?,?,?,?,?,?) VALUES (?,?,?,?,?,?,?)"
试试这个
"INSERT INTO employee (Your DB Variables)VALUES (?,?,?,?,?,?,?)"
这是一个例子 " DB"我使用的有两个变量(名称,ID) 字符串名称 int ID
PreparedStatement insertStatement = (PreparedStatement) conn.prepareStatement("INSERT INTO DB (Name,ID) VALUES (?,?)");
insertStatement.setString(1,Name);
insertStatement.setInt(2,ID);
insertStatement.execute();
System.out.println("Success!");
如果它表示您的数据库变量,请输入变量/列名称。问号仅供变量使用。
我假设您正在使用ucanaccess?
让我知道!
希望这有帮助
答案 1 :(得分:0)
指定列名称是修复程序的一部分。
您仍然缺少执行线
您没有insertStatement.execute();
来电
答案 2 :(得分:0)
我唯一能想到的是数据类型。我的ms访问DB遇到了同样的问题。检查您的数据类型。