Próbuję usunąć dane z tabeli z Java za pomocą JDBC. Najpierw liczę liczbę wierszy i upewniam się, że tabela nie jest pusta, a następnie skracam dane.Instrukcja nie zwróciła zestawu wyników. Błąd Java
Oto kod używam
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");
}
Error:
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)
Błąd znajduje się na truncate table dbo.Link.
Czy robię to we właściwy sposób?
Czy ktoś może mi w tym pomóc?
Dzięki.
@Smit - Wybór nie jest problemem. OP stwierdza, że "Błąd występuje w dblinku tabeli skróconej.". – rgettman
Wow. Dzięki za tonę. Nie widziałem tego. – Huzaifa
@rgettman Poprzedni komentarz był ważny, zanim zaktualizowałeś odpowiedź. Skasuję ten komentarz. – Smit