Может кто-нибудь сказать мне, как я могу проверить, существует ли таблица в Microsoft Access с помощью подключения к базе данных Java. После поиска я иду что-то вроде
Если не IsNull (DlookUp ("Name", "MSysObjects", "Name = 'TableName'"))
Таблица существует
Я пытался реализовать то же самое в программе JDBC
import java.sql.*;
class CheckTable{
public static void main(String [] rak){
boolean flag;
try{
flag=false;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dataSourceName="test";
String dbURL="jdbc:odbc:"+dataSourceName;
Connection con=DriverManager.getConnection(dbURL,"","");
Statement s=con.createStatement();
//s.execute("create table xyz (name text, hiredate date)");
//s.execute("insert into xyz values('xz1','22-dec-2005')");
// s.execute("insert into xyz values('pr','2-21-2009')");
s.execute(" If Not IsNull(DlookUp('Name','MSysObjects',"Name='xyz'")) Then "+ flag=true + ");
/*
ResultSet rs=s.getResultSet();
if (rs!=null){
while(rs.next()){
System.out.println(rs.getString(1)+rs.getString(2));
}}
*/
}
catch(Exception e){
e.printStackTrace();
}
System.out.println(" table exists :"+flag);
}
}
Я получаю ошибку в выражении s.execute (), пожалуйста, помогите мне с синтаксисом.
ошибки, которые я получаю:
')' ожидается
незаконное начало выражения
закрытый буквенный символ
не утверждение
; освобожденный
все ошибки находятся в строке s.execute ("Если не IsNull (DlookUp ('Name', 'MSysObjects'," Name = 'xyz' ")) Тогда" + flag = true + ");