列名无效 - 错误

Mit*_*han 2 java sql-server jdbc

当我从结果集中获取值时,出现此错误。

错误:com.microsoft.sqlserver.jdbc.SQLServerException:列名company.short_name无效

情况1 :

select company.short_Name,location_name from company,location;
Run Code Online (Sandbox Code Playgroud)

这个查询在 SQL Server 上执行得很好,但是在我的 java 代码中,当我尝试检索像resultset.getString("company.short_name");当时这样的值时,会出现上述错误。

案例2:

select company.short_Name short_name,location_name from company,location;
Run Code Online (Sandbox Code Playgroud)

并检索值,就像resultset.getString("short_name");它在数据库 MySQL 和 MSSQL 上都能正常工作一样。

我正在将数据库从 MySQL 迁移到 MSSQL。上述情况 1 在 MySQL 中工作正常,但为什么在 MSSQL 中不起作用?

Rah*_*hul 6

resultset.getString("company.short_name");这里是错误的。尝试在应用程序中获取数据时无需指定完全限定名称。只需指定列名称,例如resultset.getString("short_name");.

因为即使您说select company.short_Name ...查询列名,short_Name因为这是表模式中定义的内容。

如果两个表具有相同的列,这可能会导致歧义,请为列提供别名,例如

select company.short_Name as company_shortname,
       location.short_Name as location_shortname,
location.location_name from company,location;
Run Code Online (Sandbox Code Playgroud)