/**
* 创建日期 2004-5-28
* 针对(client_acec1_jqal库)
* @author Administrator
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package jml;import java.sql.*;
import java.util.*;
import java.util.regex.*;import mypool.*;public class CommDAO {
DBConnectionManager dbm= DBConnectionManager.getInstance();
private String fail="fail";
private String success="success"; /**插入、更新、删除一条记录
* @param sql 传入sql语句
* @return 表示成功或失败字符串
* @exception 抛出Exception
*/
public String insertComm(String sql) throws Exception {
Connection con=null;
PreparedStatement pstm=null; try{
con=dbm.getConnection("sqlserver");
pstm = con.prepareStatement(sql);
int result=pstm.executeUpdate();
if(result>0)
return success;
else
return fail;
}
finally{
if(pstm!=null)pstm.close();
if(con!=null)dbm.freeConnection("sqlserver",con);
}
} /**批量插入、更新、删除数据
*@param sqls 批量插入、更新、删除的sql语句数组
*@return 成功或失败字符串
*@exception 抛出Exception
*/
public String insertsComm(String[] sqls) throws Exception{
Connection con=null;
Statement pstm=null;
int[] k=null;
try{
con=dbm.getConnection("sqlserver");
con.setAutoCommit(false);
pstm = con.createStatement();
for(int j=0;j<sqls.length;j++){
pstm.addBatch(sqls[j]); }
k= pstm.executeBatch();
pstm.close();
boolean flag=true;
for(int i=0;i<k.length;i++){
if(k[i]<1){
flag=false;
break;
}
}
if(flag==true){
con.commit();
return success;
}else{
con.rollback();
return fail;
}
}
finally{
con.setAutoCommit(true);
if(pstm!=null)pstm.close();
if(con!=null)dbm.freeConnection("sqlserver",con);
}
} /**
*查询记录
*@param length 查询记录的字段数量,
*@param sql 要查询的SQL语句
*@return 返回Collection 集合 集合保存为字符串数组
*@exception 抛出Exception
*/
public Collection queryComm(int length,String sql) throws Exception{ Connection con=null;
PreparedStatement pstm=null;
ResultSet rs=null; ArrayList list=new ArrayList();
try{
con=dbm.getConnection("sqlserver"); pstm=con.prepareStatement(sql);
rs=pstm.executeQuery();
while(rs.next()){
String[] strs=new String[length];
for(int j=0;j<length;j++){
strs[j]=rs.getString(j+1);//.trim();
if(strs[j]!=null)
strs[j]=strs[j].trim();
} list.add(strs);
}
}
finally{
if(rs!=null)rs.close();
if(pstm!=null)pstm.close();
if(con!=null)dbm.freeConnection("sqlserver",con);
}
return list;
} /**
*查询记录
*@param sql 要查询的SQL语句
*@return 返回Collection 集合 ,集合保存为字符串
* @exception 抛出Exception
*/
public Collection getOneCol(String sql) throws Exception
{
Connection conn=null; ResultSet rs = null;
ArrayList xm = new ArrayList();
int column = 0;
try
{ // conn = ds.getConnection();
conn=dbm.getConnection("sqlserver");
Statement stmt =conn.createStatement(); rs = stmt.executeQuery(sql);
column = rs.getMetaData().getColumnCount(); while(rs.next())
{
int i = 1;
while(i < column + 1)
{
String colvalue = rs.getString(i);
if(colvalue == null)
{
colvalue = "";
} else
{
colvalue = colvalue.trim();
}
xm.add(colvalue); i++;
}
}
rs.close();
stmt.close();
}
finally
{
if(conn!=null)dbm.freeConnection("sqlserver",conn);
}
return xm;
}
/**
*@param sql 语句包含二个字段1 序号,2 文本内容
*@return 返回值为map,map的键值为序号,对象值为文本内容
* @exception 抛出Exception
*/
public Map queryHfy(String sql) throws Exception{ Connection con=null;
PreparedStatement pstm=null;
ResultSet rs=null; Map map = new HashMap();
try{
con=dbm.getConnection("sqlserver");
pstm=con.prepareStatement(sql);
rs=pstm.executeQuery();
while(rs.next()){
String xh=rs.getString(1);
String nr=rs.getString(2);
map.put(xh,nr);
}
rs.close();
pstm.close();
}
finally{
if(con!=null)dbm.freeConnection("sqlserver",con);
}
return map;
}
/**
* 创建日期 2004-5-28
* 针对(client_acec1_jqal库)
* @author Administrator
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package jml;import java.sql.*;
import java.util.*;
import java.util.regex.*;import mypool.*;public class CommDAO {
DBConnectionManager dbm= DBConnectionManager.getInstance();
private String fail="fail";
private String success="success"; /**插入、更新、删除一条记录
* @param sql 传入sql语句
* @return 表示成功或失败字符串
* @exception 抛出Exception
*/
public String insertComm(String sql) throws Exception {
Connection con=null;
PreparedStatement pstm=null; try{
con=dbm.getConnection("sqlserver");
pstm = con.prepareStatement(sql);
int result=pstm.executeUpdate();
if(result>0)
return success;
else
return fail;
}
finally{
if(pstm!=null)pstm.close();
if(con!=null)dbm.freeConnection("sqlserver",con);
}
} /**批量插入、更新、删除数据
*@param sqls 批量插入、更新、删除的sql语句数组
*@return 成功或失败字符串
*@exception 抛出Exception
*/
public String insertsComm(String[] sqls) throws Exception{
Connection con=null;
Statement pstm=null;
int[] k=null;
try{
con=dbm.getConnection("sqlserver");
con.setAutoCommit(false);
pstm = con.createStatement();
for(int j=0;j<sqls.length;j++){
pstm.addBatch(sqls[j]); }
k= pstm.executeBatch();
pstm.close();
boolean flag=true;
for(int i=0;i<k.length;i++){
if(k[i]<1){
flag=false;
break;
}
}
if(flag==true){
con.commit();
return success;
}else{
con.rollback();
return fail;
}
}
finally{
con.setAutoCommit(true);
if(pstm!=null)pstm.close();
if(con!=null)dbm.freeConnection("sqlserver",con);
}
} /**
*查询记录
*@param length 查询记录的字段数量,
*@param sql 要查询的SQL语句
*@return 返回Collection 集合 集合保存为字符串数组
*@exception 抛出Exception
*/
public Collection queryComm(int length,String sql) throws Exception{ Connection con=null;
PreparedStatement pstm=null;
ResultSet rs=null; ArrayList list=new ArrayList();
try{
con=dbm.getConnection("sqlserver"); pstm=con.prepareStatement(sql);
rs=pstm.executeQuery();
while(rs.next()){
String[] strs=new String[length];
for(int j=0;j<length;j++){
strs[j]=rs.getString(j+1);//.trim();
if(strs[j]!=null)
strs[j]=strs[j].trim();
} list.add(strs);
}
}
finally{
if(rs!=null)rs.close();
if(pstm!=null)pstm.close();
if(con!=null)dbm.freeConnection("sqlserver",con);
}
return list;
} /**
*查询记录
*@param sql 要查询的SQL语句
*@return 返回Collection 集合 ,集合保存为字符串
* @exception 抛出Exception
*/
public Collection getOneCol(String sql) throws Exception
{
Connection conn=null; ResultSet rs = null;
ArrayList xm = new ArrayList();
int column = 0;
try
{ // conn = ds.getConnection();
conn=dbm.getConnection("sqlserver");
Statement stmt =conn.createStatement(); rs = stmt.executeQuery(sql);
column = rs.getMetaData().getColumnCount(); while(rs.next())
{
int i = 1;
while(i < column + 1)
{
String colvalue = rs.getString(i);
if(colvalue == null)
{
colvalue = "";
} else
{
colvalue = colvalue.trim();
}
xm.add(colvalue); i++;
}
}
rs.close();
stmt.close();
}
finally
{
if(conn!=null)dbm.freeConnection("sqlserver",conn);
}
return xm;
}
/**
*@param sql 语句包含二个字段1 序号,2 文本内容
*@return 返回值为map,map的键值为序号,对象值为文本内容
* @exception 抛出Exception
*/
public Map queryHfy(String sql) throws Exception{ Connection con=null;
PreparedStatement pstm=null;
ResultSet rs=null; Map map = new HashMap();
try{
con=dbm.getConnection("sqlserver");
pstm=con.prepareStatement(sql);
rs=pstm.executeQuery();
while(rs.next()){
String xh=rs.getString(1);
String nr=rs.getString(2);
map.put(xh,nr);
}
rs.close();
pstm.close();
}
finally{
if(con!=null)dbm.freeConnection("sqlserver",con);
}
return map;
}
/**
解决方案 »
- Label加载ICON问题
- 求助:那位仁兄帮我看看下面是不是死循环啊
- 如何把字符串存进集合?
- 请问Class.getDeclaredMethod(String name, Class... parameterTypes)中 Class... parameterTypes怎么理解
- 请问jbuilder9.0为什么没有向导勒?
- 看了阎宏的java与模式一书,说Decorator模式可以动态地给一个对象增加功能,并可动态的撤销,这一点是如何体现出来的
- 自己编写的Java Applet不能用,急!!
- 求教:java中怎么实现可变数组?
- 应该算是java思想的小问题
- jsp中有关session的问题 。也许你没见过!
- java书的配套习题,可以在线观看,asp写的程序,多提意见
- 这错哪了,有人能帮我解决一下吗。
运行报以下错误
java.lang.NullPointerException
at jml.CommDAO.insertComm(CommDAO.java:36)
at jml.hftv_man.processMess(hftv_man.java:26)
at jml.hftv_man.main(hftv_man.java:183)
SQLinsert man_jsmsg (sjh,mdhm,jsmsg) values ('13600000000','018882','015,016')
java.lang.NullPointerException
at jml.CommDAO.getOneCol(CommDAO.java:146)
at jml.hftv_man.processMess(hftv_man.java:39)
at jml.hftv_man.main(hftv_man.java:183)
SQLselect sjh from man_sj_user where sjh='13600000000'
Press any key to continue...
在try和fianlly之间都加上
catch(Exception e){
e.printStackTrace();
}
这样就可以很清楚的定位到出空指针异常的代码行了~~~
估计问题出在这里
问题就从这里开始查!
添加到构造函数public hftv_man(){}中,试试