Tôi đang cố gắng xóa dữ liệu khỏi bảng từ java bằng JDBC. Đầu tiên tôi đếm số hàng và đảm bảo rằng bảng không rỗng và sau đó cắt bớt dữ liệu.Câu lệnh không trả lại tập kết quả. Lỗi Java
Đây là mã tôi đang sử dụng
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://m-i:1433;databaseName=Tes", "sa", "Password");
Statement cnnt= con.createStatement();
Statement del1 = con.createStatement();
ResultSet rs = cnnt.executeQuery("Select count(lea) AS cnt from dbo.Link");
int count= 0;
if(rs.next())
{
count = rs.getInt("cnt");
}
System.out.println(count);
if(count != 0)
{
del1.executeQuery("Truncate Table dbo.Link");
}
else
{
System.out.println("Table is already empty");
}
Lỗi:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:800)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:689)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:616)
Lỗi là tại Truncate Table dbo.Link.
Tôi có làm đúng cách này không?
Ai đó có thể giúp tôi với điều này, vui lòng.
Cảm ơn.
@Smit - Lựa chọn không phải là vấn đề. OP nói "Lỗi này nằm ở bảng cắt ngắn.". – rgettman
Rất tiếc. Cảm ơn một tấn. Tôi không thấy điều đó. – Huzaifa
@rgettman Nhận xét trước đó hợp lệ trước khi bạn cập nhật câu trả lời. Tôi sẽ xóa bình luận đó. – Smit