标签 Java 下的文章

java.sql.SQLException: Invalid parameter index 1

报错信息:

java.sql.SQLException: Invalid parameter index 1

原因:

SQL语句里面的问号占位符,和#field#,井号占位符字段不需要自己加''单引号包围起来。代码会自动加上。去掉单引号,困恼了半天的问题解决。

Eclipse断点进入另一个项目的同名Java文件中

A和B是两个相同的项目,A一直本地,B是刚刚从SVN上down下来的。

Q:今天进行Debug调试B项目时,断点进入的是A项目的类中。一开始排错,以为运行的还是A项目,经过在JSP页面测试,确定运行的的确是B项目,但是断点一直进入的A项目的类中。

A1:解决方法如下:

进入Debug界面,右击,显示如下界面:

然后选择Edit Source Lookup...(后面省略了Path)------>Add------>Workspace Folder------>选择要Debug的项目下的文件夹,通常的调试的代码都是在src文件夹里面,所以选择src文件夹,点击ok。回到Edit Source Lookup Path界面下。如果有其他的项目下的src最好删除,尤其是相同的项目。选中要删除的文件,在右边remove就好了,继续点击ok。

Debug重启一下。

BTW:你也可以点击左上角的Debug标志--虫子旁边的向下三角,选中Debug Configurations进入配置界面后,点击右边的Source进行相同的操作。

来源:https://my.oschina.net/u/148367/blog/151849

jxl解析Excel报错:Cannot read drop down range Unrecognized token 60

Warning:  Cannot read drop down range Unrecognized token 60
java.lang.NullPointerException
  at jxl.biff.DataValiditySettingsRecord.getFirstColumn(DataValiditySettingsRecord.java:238)
  at jxl.read.biff.SheetReader.read(SheetReader.java:913)
  at jxl.read.biff.SheetImpl.readSheet(SheetImpl.java:650)
  at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:249)
  at com.tunps.platform.util.jxExcelMain(parseExcel.java:93)
  at org.apache.jsp.pages.Import_jsp._jspService(Import_jsp.java:190)
  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

用Jxl解析Excel出现这个问题。原因是Excel的数据有效性有问题,如图:

excel_validation.jpg

这个字段使用了其他电脑上获取的下拉选项,在我电脑上没有此选项文件,所以数据有效性是有问题的。我们可以通过这段代码来去掉jxl对Excel数据有效性的验证:

WorkbookSettings workbooksetting = new WorkbookSettings();
workbooksetting.setCellValidationDisabled(true);
Workbook wb = Workbook.getWorkbook(is,workbooksetting);

到此问题解决。但是我的这个项目已经把解析Excel的类封装成了jar,没有办法修改Java源代码。所以只能将Excel的有效性去掉再上传解析Excel文件。

在WPS内的去掉有效性操作是:数据 -- 有效性 -- 设置 -- 允许 -- 任何值 -- 勾选对所有同样设置的其他所有单元格应用这些设置 -- 确定。

在Excel中去掉有效性的操作是:数据 -- 数据验证 -- 数据验证 -- 允许 -- 任何值 -- 勾选对所有同样设置的其他所有单元格应用这些设置 -- 确定。

SQL Server死锁造成页面卡顿

原因是访问了数据库,做了数据库增删改操作,但是最后没有关闭数据库连接,造成之前的操作死锁。解决办法,在SSMS里面查看死锁的进程:

--查看死锁进程
select distinct 'kill' + ' ' + cast(request_session_id as varchar(200) ) + ';'
from   sys.dm_tran_locks where resource_type='OBJECT'

然后运行输出的内容,比如:

kill 60;
kill 61;

最后在业务代码的最后finally内关闭数据库连接:

conn.close();