关于jdbc数据库连接问题!(100分)

  • 主题发起人 startlxuwei
  • 开始时间
S

startlxuwei

Unregistered / Unconfirmed
GUEST, unregistred user!
package newquery;

import java.lang.*;
import java.sql.*;
import java.util.Vector;
public class Query
{ String dbQuery;
String dbValue;
String[] dbPrams;
PreparedStatement ps;
String v;
ResultSet rs;
boolean isQuery;
int i=1;
public Query(String dbQuery,String dbValue,Connection con)
{try{
this.dbQuery=dbQuery;
this.dbValue=dbValue;
String dbName=convertFirstCase(dbValue);//将dbValue的第一个单词变成大写!
isQuery=dbName.startsWith("SELECT");
System.out.println(dbValue);
ps=con.prepareStatement(dbValue);
}
catch(Exception e)
{e.printStackTrace();}
}
public Env getQueryStrings(Hashtable e) throws SQLException
{ while(null!=(v=e.getStr("Parameter"+i)))//从一个Hashtable中取得参数,保证正确!
{ ps.setString(i,v);
i++;}
if(isQuery)
{
[red] rs=ps.executeQuery();//为什么到这里rs取出来为空呢![/red] if(rs==null||rs.next())

String[][] QueryStrings=convertRsToStrings((Vector)rs);
e.put("ResultTable",QueryStrings);
}
else
{int n=ps.executeUpdate();
e.put("then
umberAffected",""+n);
}
return e;
}
/* private String convertFirstCase(String Queries)
{ if (null==Queries)return null;
char c;
StringBuffer sb=new StringBuffer(Queries);
for(int i=0;i<sb.length()&amp;&amp;Character.isLetter(c=sb.charAt(i));i++)
sb.setCharAt(i,Character.toUpperCase(c));
return sb.toString();
}
public void close()throws SQLException
{
if(null!=rs)rs.close();
rs=null;
if(ps!=null)ps.close();
ps=null;
}
public String[][] convertRsToStrings(Vector v)
{if (v==null||v.size()==0)return null;
String[][] R= new String[v.size()][];
for(int i=0;i<R.length;i++)
R=(String[])v.elementAt(i);
return R;
}
}
 
没有人会吗?
 
要善于提问 !
你这要之贴出代码,谁知道你要干啥?
 
顶部