Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当表名包含空格时,通过JDBC从FileMaker表中选择_Java_Sql_Jdbc_Filemaker - Fatal编程技术网

Java 当表名包含空格时,通过JDBC从FileMaker表中选择

Java 当表名包含空格时,通过JDBC从FileMaker表中选择,java,sql,jdbc,filemaker,Java,Sql,Jdbc,Filemaker,我使用JDBC从文件生成器服务器v12中获取数据 出于某种未知的原因,filemaker允许您在表名中使用空格。我无法选择这些表,因为我刚刚遇到语法错误 我已经用java编写了一个应用程序来获取数据。有人知道我如何从有空格的表中选择数据吗 编辑(来自OP的评论): 这是Java部分: String selectSQL = "SELECT "+this.getImportableColumnsString()+" FROM "+this.getTableName(); PreparedStatem

我使用JDBC从文件生成器服务器v12中获取数据

出于某种未知的原因,filemaker允许您在表名中使用空格。我无法选择这些表,因为我刚刚遇到语法错误

我已经用java编写了一个应用程序来获取数据。有人知道我如何从有空格的表中选择数据吗

编辑(来自OP的评论):

这是Java部分:

String selectSQL = "SELECT "+this.getImportableColumnsString()+" FROM "+this.getTableName();
PreparedStatement preparedStatement = this.connection.prepareStatement(selectSQL);
ResultSet rs = preparedStatement.executeQuery();

我的第一个想法是,您可以将表名放在“字符”中,例如:SELECT*FROM“My table”。这不管用吗

否则,我建议您在此页面上与Filemaker服务器支持部门联系: 他们可能以前有过这个问题,并且知道如何构建查询


//Flipbed

我很肯定,在OCDB和JDBC支持文件FileMaker中,表可能必须遵守比FileMaker允许的更严格的命名约定。在FileMaker中更改表名很容易,如果您对正在查找的数据库具有管理员访问权限,为什么不将表名中的空格替换为下划线呢

如问题注释中所述,如果FileMaker表名包含空格,则必须在SQL语句中用双引号括起,例如

String selectSQL=“选择*自\“表名\”;

您能否发布代码的相关部分以及您遇到的语法错误的详细信息?使用冒号括号可以很好地工作。对于表名,从[带空格的表名]中选择*;不起作用?(只是问一下)它是在Java
code
String selectSQL=“SELECT”+this.getImportableColumnsString()+”中从“+this.getTableName()”;PreparedStatement PreparedStatement=this.connection.prepareStatement(选择SQL);ResultSet rs=preparedStatement.executeQuery()
code
@user723168-您似乎使用了
getTableName()
来获取表名。即使此表名包含空格,也不会产生语法错误。你确定你得到的错误类型吗?我遗漏了什么吗?刚刚发现它需要在表和列名上加双引号。“方括号[]不起作用。