如何使用Java API将数据插入数据库?

问题描述 投票:0回答:3

我正在尝试使用以下代码将数据插入数据库,但某些操作无法正常工作。它运行无误,但不会在数据库中插入任何内容。

public Map<String,String> createuser(String handle, String password, String fullname, String location, String xmail, String bdate)
    {
        Map<String,String> userIdMap = new HashMap<>();
        PreparedStatement stmt = null;

        try
        {
            Connection conn = ds.getConnection();
            String queryString = null;
            queryString = "INSERT INTO Identity(handle, password, fullname, location, xmail, bdate) VALUES (?, ?, ?, ?, ?, ?)";


            stmt = conn.prepareStatement(queryString);
            stmt.setString(1, handle);
            stmt.setString(2, password);
            stmt.setString(3, fullname);
            stmt.setString(4, location);
            stmt.setString(5, xmail);
            stmt.setString(6, bdate);

            userIdMap.put(handle, password);
            userIdMap.put(fullname, location);
            userIdMap.put(xmail, bdate);
            int s = stmt.executeUpdate(queryString);

            stmt.close();
            conn.close();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        return userIdMap;
    } // createuser()

可能的错误消息

<html><head><title>Grizzly 2.3.23</title><style><!--div.header {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#003300;font-size:22px;-moz-border-radius-topleft: 10px;border-top-left-radius: 10px;-moz-border-radius-topright: 10px;border-top-right-radius: 10px;padding-left: 5px}div.body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:#FFFFCC;font-size:16px;padding-top:10px;padding-bottom:10px;padding-left:10px}div.footer {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#666633;font-size:14px;-moz-border-radius-bottomleft: 10px;border-bottom-left-radius: 10px;-moz-border-radius-bottomright: 10px;border-bottom-right-radius: 10px;padding-left: 5px}BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}B {font-family:Tahoma,Arial,sans-serif;color:black;}A {color : black;}HR {color : #999966;}--></style> </head><body><div class="header">Request failed.</div><div class="body">Request failed.</div><div class="footer">Grizzly 2.3.23</div></body></html>
java api jdbc
3个回答
1
投票

您必须在连接conn.setAutoCommit(true)上启用自动提交”>

conn.commit()方法的末尾添加createuser


1
投票

尝试conn.commit()在数据库中提交您的插入语句假设数据库的自动提交已禁用。


0
投票

不是让我们跟随您去查找堆栈跟踪记录的位置,而是全力以赴,将其添加到您的catch块中。这将是目前向您显示错误消息的最快方法。

© www.soinside.com 2019 - 2024. All rights reserved.