java msql将记录插入表中

时间:2016-05-08 17:45:26

标签: java mysql

我正在尝试将记录添加到数据库中。我在这个功能中找不到错误。谁有人可以帮忙?

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表:

enter image description here

3 个答案:

答案 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遇到了同样的问题。检查您的数据类型。