Cho đoạn chương trình sau:
String id=""; Connection cn;
3. Class.forName("sun.jdbc.odbc.Jdb cOdbcDriver");
4. cn=DriverManager.getConnection( "jdbc:odbc:SQLServer","","");
5. cn.createStatement(); 6.Statement st = cn.createStatement(); String sql = "Select * from tblProducts";
ResultSet rs = st.executeQuery(); Đoạn chương trình trên sai ở dòng lệnh nào?
Cho đoạn chương trình sau:
String id=""; Connection cn;
3. Class.forName("sun.jdbc.odbc.Jdb cOdbcDriver");
4. cn=DriverManager.getConnection( "jdbc:odbc:SQLServer","","");
5. cn.createStatement(); 6.Statement st = cn.createStatement(); String sql = "Select * from tblProducts";
ResultSet rs = st.executeQuery(); Đoạn chương trình trên sai ở dòng lệnh nào?
Trả lời:
Đáp án đúng: D
Đoạn chương trình trên sai ở dòng 5 và 6. Cụ thể, dòng 5 `cn.createStatement();` không gán kết quả trả về (đối tượng `Statement`) cho bất kỳ biến nào, gây lãng phí tài nguyên và không sử dụng được đối tượng `Statement` này để thực thi câu lệnh SQL. Dòng 6 `Statement st = cn.createStatement(); String sql = "Select * from tblProducts";` khai báo và khởi tạo một đối tượng `Statement` mới, nhưng lại không thực hiện truy vấn trên đối tượng này, mà lại sử dụng đối tượng `st` để thực hiện truy vấn ở dòng dưới. Do đó, cần gộp dòng 5 và 6 lại thành một dòng `Statement st = cn.createStatement();` để sử dụng đối tượng statement này cho các thao tác tiếp theo.





