有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用java将值插入sql服务器?

对不起,如果我的问题是相同的。我试图找到在线文档,但我仍然没有解决这个问题。“stmt.executeUpdate();”行中有错误

public class DBConnect {
    private List<SinhVien> result = new ArrayList<SinhVien>();
public void updateSQL(String masv, String malop, String ten,
            Date ngaysinh, String diachi) {
    try{
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            Connection connection = DriverManager.getConnection("jdbc:sqlserver://MyPC:1433;databasename=QLSV;username=sa;password=APASSWORD");         
            PreparedStatement stmt = connection.prepareStatement("INSERT INTO SinhVien(masv, malop, ten, ngaysinh, diachi) VALUES(?, ?, ?, ?, ?");
            stmt.setString(1, masv);
            stmt.setString(2, malop);
            stmt.setString(3, ten);
            stmt.setDate(4, ngaysinh);
            stmt.setString(5, diachi);          
            stmt.executeUpdate();
    }
    catch(Exception e){
        e.printStackTrace();
    }       
    }
    public static void main(String[] args) {
        DBConnect dbConnect = new DBConnect();
        dbConnect.XuatDSSV();
        dbConnect.findSinhvienById("51003146");
        dbConnect.updateSQL("123", "malop", "ten", null, "diachi");

    }

共 (2) 个答案

  1. # 1 楼答案

    我建议您将查询存储在字符串中。它会更容易阅读,并发现问题

    final String query = "INSERT INTO SinhVien"
        + "(masv, malop, ten, ngaysinh, diachi) "
        + "VALUES(?, ?, ?, ?, ?)"; // <  You were missing the close paren.
    PreparedStatement stmt = connection.prepareStatement(query);
    
  2. # 2 楼答案

    尝试添加连接。stmt之后的commit()。executeUpdate()。请发布例外情况