tôi sử dụng đoạn mã này để chèn một số dữ liệu vào cơ sở dữ liệu:tuyên bố chuẩn bị chỉ ném ngoại lệ khi không gỡ lỗi
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:war_odbc");
PreparedStatement st =
con.prepareStatement(
"INSERT INTO Actors(FirstName,LastName,Age) VALUES(?,?,?)");
st.setString(1, "Robert");
st.setString(2, "de Niro");
st.setInt(3,45);
st.executeUpdate();
con.close();
Nếu tôi sử dụng trình gỡ lỗi và bước một dòng tại một thời điểm, mọi thứ đều suôn sẻ. Nếu tôi không sử dụng và chỉ chạy ứng dụng, tôi nhận ngoại lệ này:
[Microsoft][ODBC Driver Manager] Invalid string or buffer length
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
Tôi đang sử dụng Windows 7 64 bit. Tôi đã đi đến Công cụ quản trị, Nguồn dữ liệu (ODBC) và tôi đã thử nghiệm thành công nó.
Vì khi nào 'de Niro' là một số nguyên? –
Câu hỏi thực sự là: "Tại sao mã này hoạt động trong chế độ gỡ lỗi?" ... – Aubin
De Niro De Niro, anh ta có thể là bất cứ điều gì anh ta thích – lifetimes