java中sql语句执行有错误,但是打印出语句后在sql管理中没有问题
java中sql语句执行有错误,但是打印出语句后在sql管理中没有问题
java中代码如下:
String sqlview="if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[员工考勤卡号-按最新启 用日期]') and OBJECTPROPERTY(id, N'IsView') = 1)"+
"drop view [dbo].[员工考勤卡号-按最新启用日期]" +
"\n"+"GO"+"\n"+
"SET QUOTED_IDENTIFIER ON"+
"\n"+"GO"+"\n"+
"SET ANSI_NULLS ON"+
"\n"+"GO"+"\n"+
"CREATE VIEW dbo.[员工考勤卡号-按最新启用日期]"+"\n"+
" AS "+"\n"+
"SELECT DISTINCT SMT_PersonnelID, SMT_CardSerial, SMT_DateTime, SMT_State"+"\n"+
"FROM dbo.Smart_Card ta"+"\n"+
"WHERE (SMT_DateTime ="+"\n"+
"(SELECT MAX(tb.SMT_DateTime) AS Expr1"+"\n"+
"FROM dbo.Smart_Card AS tb"+"\n"+
"WHERE (tb.SMT_PersonnelID = ta.SMT_PersonnelID)))"+
"\n"+"GO"+"\n"+
"SET QUOTED_IDENTIFIER OFF"+
"\n"+"GO"+"\n"+
"SET ANSI_NULLS ON"+
"\n"+"GO"+"\n"+
;
打印出的语句为:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[员工考勤卡号-按最新启用日期]') and OBJECTPROPERTY(id, N'IsView') = 1)drop view [dbo].[员工考勤卡号-按最新启用日期]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.[员工考勤卡号-按最新启用日期]
AS
SELECT DISTINCT SMT_PersonnelID, SMT_CardSerial, SMT_DateTime, SMT_State
FROM dbo.Smart_Card ta
WHERE (SMT_DateTime =
(SELECT MAX(tb.SMT_DateTime) AS Expr1
FROM dbo.Smart_Card AS tb
WHERE (tb.SMT_PersonnelID = ta.SMT_PersonnelID)))
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
这个打印出来的语句直接复制到sqlserver management中是可以执行的 没有问题
但是eclipse中直接报错:com.microsoft.sqlserver.jdbc.SQLServerException: 'GO' 附近有语法错误。
请大家分析下。。。。。。。。。
java中代码如下:
String sqlview="if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[员工考勤卡号-按最新启 用日期]') and OBJECTPROPERTY(id, N'IsView') = 1)"+
"drop view [dbo].[员工考勤卡号-按最新启用日期]" +
"\n"+"GO"+"\n"+
"SET QUOTED_IDENTIFIER ON"+
"\n"+"GO"+"\n"+
"SET ANSI_NULLS ON"+
"\n"+"GO"+"\n"+
"CREATE VIEW dbo.[员工考勤卡号-按最新启用日期]"+"\n"+
" AS "+"\n"+
"SELECT DISTINCT SMT_PersonnelID, SMT_CardSerial, SMT_DateTime, SMT_State"+"\n"+
"FROM dbo.Smart_Card ta"+"\n"+
"WHERE (SMT_DateTime ="+"\n"+
"(SELECT MAX(tb.SMT_DateTime) AS Expr1"+"\n"+
"FROM dbo.Smart_Card AS tb"+"\n"+
"WHERE (tb.SMT_PersonnelID = ta.SMT_PersonnelID)))"+
"\n"+"GO"+"\n"+
"SET QUOTED_IDENTIFIER OFF"+
"\n"+"GO"+"\n"+
"SET ANSI_NULLS ON"+
"\n"+"GO"+"\n"+
;
打印出的语句为:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[员工考勤卡号-按最新启用日期]') and OBJECTPROPERTY(id, N'IsView') = 1)drop view [dbo].[员工考勤卡号-按最新启用日期]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.[员工考勤卡号-按最新启用日期]
AS
SELECT DISTINCT SMT_PersonnelID, SMT_CardSerial, SMT_DateTime, SMT_State
FROM dbo.Smart_Card ta
WHERE (SMT_DateTime =
(SELECT MAX(tb.SMT_DateTime) AS Expr1
FROM dbo.Smart_Card AS tb
WHERE (tb.SMT_PersonnelID = ta.SMT_PersonnelID)))
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
这个打印出来的语句直接复制到sqlserver management中是可以执行的 没有问题
但是eclipse中直接报错:com.microsoft.sqlserver.jdbc.SQLServerException: 'GO' 附近有语法错误。
请大家分析下。。。。。。。。。
...全文
相关推荐
java跟踪执行的sql语句示例分享
在Java编程中,跟踪执行的SQL语句是调试和优化数据库操作的重要手段。这有助于我们了解应用程序如何与数据库交互,从而发现性能瓶颈或潜在错误。
如何避免日志中打印SQL语句:完整解决方案
在 Java 应用程序中,日志记录是不可或缺的调试工具,但并非所有日志都是有用的。对于 SQL 日志,特别是在生产环境中,我们往往不希望看到大量的 SQL 执行信息。通过调整日志框架配置、修改数据库连接池设置或手动控制日志输出,我们可以有效屏蔽 SQL 日志,从而保持日志的整洁、提高应用性能。希望本文的介绍能帮助大家根据项目实际情况选择最合适的方案,有效避免 SQL 日志的输出。通过合理的日志配置,你可以在保证安全性和性能的同时,更加高效地管理系统日志。
银行管理系统登录界面java代码
- **执行查询**:使用`Statement`对象执行SQL语句。- **处理结果集**:通过`ResultSet`对象遍历查询结果。
2022山东计算机等级考试考试考前冲刺卷(2).docx
通常,Java程序通过JDBC驱动与数据库建立连接,执行SQL语句。这些知识点涵盖了C++编程、Java编程、数据库管理、计算机网络和解剖学等多方面的内容,这些都是计算机等级考试中的常见考点。
jdbc连ACCESS数据库找不到文件的问题.doc
`executeQuery`和`executeUpdate`方法分别用于执行查询和更新操作,如果出现异常,它们会打印出错误信息。


