异常描述:
一个删除语句的功能按钮用Servlet+JDBC实现,点击按钮后报错:
com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@P0where"
原因:sql语句换行后,SQL语句换行时,把单词间的空格丢了。
解决办法:补上,丢失的空格,保持SQL的正确性。注:SQL语句换行后仍需保留单行时候的单词之间空格。
纠正之前代码:
String sql="update umdata set idumfolder=?" +"where idumfolder=? and not id in" +"(select max(id) from umdata where idumfolder=? group by sto )"; String sql="delete from umdata" +"where idumfolder=? and not id in" +"(select max(id) from umdata where idumfolder=? group by sto )";
以下是纠正后的代码:
public class EmployeeDAOImpl implements EmployeeDAO{ //20140129重复记录移至垃圾箱 public void moveAllRepeatToTrash(Employee e) throws Exception { Connection conn = DbUtil.getConnection(); String sql="update umdata set idumfolder=? " +"where idumfolder=? and not id in " +"(select max(id) from umdata where idumfolder=? group by sto )"; PreparedStatement prep = conn.prepareStatement(sql); prep.setString(1, "trash"); prep.setString(2, "out"); prep.setString(3, "out"); prep.executeUpdate(); DbUtil.close(); } //20140129彻底删除重复记录 public void deleteAllRepeat(Employee e) throws Exception { Connection conn = DbUtil.getConnection(); String sql="delete from umdata " +"where idumfolder=? and not id in " +"(select max(id) from umdata where idumfolder=? group by sto )"; PreparedStatement prep = conn.prepareStatement(sql); prep.setString(1, "out"); prep.setString(2, "out"); prep.executeUpdate(); DbUtil.close(); }
相关推荐
本文将深入探讨标题和描述中提到的“com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作”这一异常,以及如何在使用Hibernate、Struts进行分页时避免这一问题。我们将从异常的根本原因...
这个驱动程序是Java Database Connectivity (JDBC)的一部分,允许Java开发者通过编写Java代码来访问和操作SQL Server数据库。 首先,我们需要理解JDBC。它是Java平台的一个标准接口,由Sun Microsystems(现为...
由于项目中必须得用JDK6来作为Java环境,于是连接SQLServer时出现了com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“ Java...
MS SQL Server JDBC驱动2.0版是用于连接Java应用程序与Microsoft SQL Server数据库的桥梁,尤其针对SQL Server 2000和2005版本。JDBC(Java Database Connectivity)是一种Java API,它允许Java程序通过Java编程语言...
1. **驱动类未正确导入**:在Java项目中,确保已经添加了Microsoft SQL Server JDBC驱动的jar文件到类路径(Classpath)。如果使用Maven或Gradle,需要在项目的依赖管理中包含对应的库。如果是手动管理依赖,确保`...
`sqljdbc4-4.0.jar`是微软为SQL Server提供的一个特定版本的JDBC驱动,用于在Java应用程序中连接到SQL Server数据库。 标题中的"sqljdbc4-4.0.zip"是一个压缩包,包含了`sqljdbc4-4.0.jar`文件,这个文件是Java开发...
《SQLJDBC4-4.0.jar:微软SQL Server与Java的桥梁》 在Java编程环境中,连接数据库是一项常见的任务,而SQLJDBC4-4.0.jar是Microsoft SQL Server数据库管理系统与Java应用程序之间交互的重要组件。这个jar文件是...
在ODI11.1.1.5.0中创建了Microsoft Sql Server的服务器, JDBC驱动程序名称选择了Microsoft SQL Server 2005 Driver for JDBC (com.microsoft.sqlserver.jdbc.SQLServerDriver) 所有参数配置妥当,进行测试时,...
SQLServer_Driver rarSQLServer_Driver rarSQLServer_Driver rarSQLServer_Driver rarSQLServer_Driver rarSQLServer_Driver rarSQLServer_Driver rarSQLServer_Driver rarSQLServer_Driver rar
常见的SQL Server连接失败错误以及解决方法,帮助你解决安装问题
3、Can’t connect to local MySQL server through socket ‘/Data/mydata/mysql.sock’ socket文件目录不对应导致的问题 4、今天要说的就是 没有打开only_full_group_by Cause:...
sql异常信息
抛出异常:“没有为集成身份验证配置... 将 文件夹 ...\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\auth\x64(32位系统选择x86文件夹) 路径中的sqljdbc_auth.dll复制到C:\Windows\System32下即可。
### MySQL异常com.mysql.jdbc.CommunicationsException解析及解决方案 #### 异常概述 在Java应用程序中使用MySQL数据库时,可能会遇到`com.mysql.jdbc.CommunicationsException`这一异常。该异常通常意味着与MySQL...
Jar包:sqljdbc4-4.0.jar
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14.jar dm_jdbc\Dm7JdbcDriver15.jar dm_jdbc\Dm7JdbcDriver16....
比如oracle的url就变成了jdbc:log4jdbc:oracle:thin:@x.x.x.x:1521:dbname; 2、在日志系统中设置jdbc.sqlonly、jdbc.sqltiming等日志级别,可直接将log4jdbc doc中的日志内容copy过去; 3、运行系统测试,到对应...
- SQL Server的JDBC驱动由Microsoft提供,支持SQL Server 2000及以上版本。 - 它同样分为两种主要类型:JDBC Type 1 (JDBC-ODBC Bridge) 和 JDBC Type 4 (Native Driver)。 - **Type 4驱动**:完全用Java编写,...
SQL Server驱动包是用于Java应用程序通过JDBC(Java Database Connectivity)接口与Microsoft SQL Server数据库进行交互的必备组件。本文将详细介绍这两个重要的驱动文件——sqljdbc.jar和sqljdbc4.jar,以及如何...
为了解决 WebLogic 下 Oracle CLOB 类型转换的问题,可以通过反射机制来调用 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 类的 `getVendorObj()` 方法,该方法可以返回一个 `oracle.sql.CLOB` 类型的对象,从而...