新手数据库小问题,请指点! import DBConnection;这种写法有吗?程序不认肯定便衣出问题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以直接做一个该类的实例来调用或者用static方法来调用 谢谢shuneng(),在你的指点一下,我已经自己一点点“研究”出来了,水平低不要见笑。我还有一个问题,我用driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";编译后运行不了,好像是没有找到SQLServer的驱动。后来改成数据源的方式driver="sun.jdbc.odbc.JdbcOdbcDriver";url="jdbc:odbc:localserver";就可以运行出果。请问我要怎么才能用第一种方式连接数据库呢? 用第一种方式的URL可能要修改一下吧,个人观点 url is wrongcheck it 我是按照书上写的URL,如果是错误的那又应该怎么写? package org.DesignAC.database;import java.sql.*;import java.util.*;import com.microsoft.jdbcx.sqlserver.SQLServerDataSource;/** * @author Biggie * * Class Function:数据库连接bean,取sql server JDBC数据源,这个数据源也可以用 * Tomcat,WebLogic,resin等提供 * 支持各种容器及平台 * @version 1.0A * */public class DBConnect { file://You Host IP private String strHostAddress="127.0.0.1"; file://Host Port private int intHostPort=1433; file://UserName private String strUserName="sa"; file://PassWord private String strPassWord=""; file://DataBase Name private String strDataName="dac"; file://Max Connection private int intMaxConnection=10; private Connection con=null; private Statement stmt=null; private ResultSet rs=null; file://JDBC source private SQLServerDataSource source=null; ArrayList ArrayRs=new ArrayList(); /** * @param 构造函数注册JDBC驱动程序 * */ public DBConnect(){ try{ if(source==null){ source=new SQLServerDataSource(); source.setDatabaseName(strDataName); source.setServerName(strHostAddress); source.setPortNumber(intHostPort); source.setUser(strUserName); source.setPassword(strPassWord); file://source.setHostProcess(intMaxConnection); } }catch(Exception e){ System.out.println("open database error:"+e.getMessage()); } } /** * @param executeQuery查询数据库方法 * @param 每条ArrayList记录存为String[] 数组 * @return ArrayList * @exception SQLException */ public ArrayList executeQuery(String strSql) throws SQLException { rs=null; try{ con=source.getConnection(); stmt=con.createStatement(); rs=stmt.executeQuery(strSql); ResultSetMetaData rsmd=rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); file://判断是否为空 if(!ArrayRs.isEmpty()){ ArrayRs.clear(); } /* * 将每条记录写入数组 * 将数组放在ArrayList里 */ while(rs.next()){ String[] strArrayTemp=new String[numberOfColumns]; for(int i=0;i<numberOfColumns;i++){ if(rs.getObject(i+1)==null){ strArrayTemp[i]= ""; }else{ strArrayTemp[i]=rs.getObject(i+1).toString(); } } ArrayRs.add(strArrayTemp); } return (ArrayList)ArrayRs.clone(); }catch(Exception e){ System.out.println("query error:" + e.getMessage()); }finally{ if (stmt != null) { stmt.close(); } if (con != null) { con.close(); } } return ArrayRs; } /** * @param executeInsert插入数据方法 * @return 插入条数是否成功(boolean) */ public boolean executeInsert(String strSql) throws SQLException{ rs=null; try{ con=source.getConnection(); stmt=con.createStatement(); con.setAutoCommit(true); int i=stmt.executeUpdate(strSql); if(i==1){ return (true); } }catch(Exception e){ System.out.println("Insert error:"+e.getMessage()); }finally{ if (stmt != null) { stmt.close(); } if (con != null) { con.close(); } } return (false); } /** * @param executeUpdate修改数据方法 * @return 修改数据数(int) */ public int executeUpdate(String strSql) throws SQLException{ rs=null; int j=0; try{ con=source.getConnection(); stmt=con.createStatement(); con.setAutoCommit(false); j=stmt.executeUpdate(strSql); if(j>0){ con.commit(); }else{ con.rollback(); } }catch(Exception e){ System.out.println("update error:"+e.getMessage()); }finally{ if (stmt != null) { stmt.close(); } if (con != null) { con.close(); } } return j; } /** * @param executeDelete删除数据方法 * @return 删除数据数(int) */ public int executeDelete(String strSql) throws SQLException{ rs=null; int j=0; try{ con=source.getConnection(); stmt=con.createStatement(); con.setAutoCommit(false); j=stmt.executeUpdate(strSql); if(j>0){ con.commit(); }else{ con.rollback(); } }catch(Exception e){ System.out.println("Delete error:"+e.getMessage()); }finally{ if (stmt != null) { stmt.close(); } if (con != null) { con.close(); } } return j; }} Java 使用Icon Java替换文件中指定字符串 List中的数据如何根据对象的某个字段排序 怎么把JTextField 设置成不可写 急!数据缓存问题 Applet问题 求助:判断字符串中的字符是单字节还是双字节 大家没有事情做了 怎么。“ java太简单,学java全是垃圾,天天用别人的API,自己就是个民工 ”这样的破帖子顶来顶去的 ,没有事情吃饱称的啊 4.编写程序输出下列文字: 新手问题:关于new的问题? applet重画以后,paint()以后,怎么没有东西了????? 高分求取Visual Editor Project
或者用static方法来调用
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";编译后运行不了,好像是没有找到SQLServer的驱动。后来改成数据源的方式driver="sun.jdbc.odbc.JdbcOdbcDriver";
url="jdbc:odbc:localserver";就可以运行出果。请问我要怎么才能用第一种方式连接数据库呢?
check it
import java.util.*;
import com.microsoft.jdbcx.sqlserver.SQLServerDataSource;
/**
* @author Biggie
*
* Class Function:数据库连接bean,取sql server JDBC数据源,这个数据源也可以用
* Tomcat,WebLogic,resin等提供
* 支持各种容器及平台
* @version 1.0A
* */
public class DBConnect {
file://You Host IP
private String strHostAddress="127.0.0.1";
file://Host Port
private int intHostPort=1433;
file://UserName
private String strUserName="sa";
file://PassWord
private String strPassWord="";
file://DataBase Name
private String strDataName="dac";
file://Max Connection
private int intMaxConnection=10;
private Connection con=null;
private Statement stmt=null;
private ResultSet rs=null;
file://JDBC source
private SQLServerDataSource source=null;
ArrayList ArrayRs=new ArrayList();
/**
* @param 构造函数注册JDBC驱动程序
* */
public DBConnect(){
try{
if(source==null){
source=new SQLServerDataSource();
source.setDatabaseName(strDataName);
source.setServerName(strHostAddress);
source.setPortNumber(intHostPort);
source.setUser(strUserName);
source.setPassword(strPassWord);
file://source.setHostProcess(intMaxConnection);
}
}catch(Exception e){
System.out.println("open database error:"+e.getMessage());
}
}
/**
* @param executeQuery查询数据库方法
* @param 每条ArrayList记录存为String[] 数组
* @return ArrayList
* @exception SQLException
*/
public ArrayList executeQuery(String strSql) throws SQLException {
rs=null;
try{
con=source.getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery(strSql);
ResultSetMetaData rsmd=rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
file://判断是否为空
if(!ArrayRs.isEmpty()){
ArrayRs.clear();
}
/*
* 将每条记录写入数组
* 将数组放在ArrayList里
*/
while(rs.next()){
String[] strArrayTemp=new String[numberOfColumns];
for(int i=0;i<numberOfColumns;i++){
if(rs.getObject(i+1)==null){
strArrayTemp[i]= "";
}else{
strArrayTemp[i]=rs.getObject(i+1).toString();
}
}
ArrayRs.add(strArrayTemp);
}
return (ArrayList)ArrayRs.clone();
}catch(Exception e){
System.out.println("query error:" + e.getMessage());
}finally{
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
}
return ArrayRs;
}
/**
* @param executeInsert插入数据方法
* @return 插入条数是否成功(boolean)
*/
public boolean executeInsert(String strSql) throws SQLException{
rs=null;
try{
con=source.getConnection();
stmt=con.createStatement();
con.setAutoCommit(true);
int i=stmt.executeUpdate(strSql); if(i==1){
return (true);
}
}catch(Exception e){
System.out.println("Insert error:"+e.getMessage());
}finally{
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
}
return (false);
}
/**
* @param executeUpdate修改数据方法
* @return 修改数据数(int)
*/
public int executeUpdate(String strSql) throws SQLException{
rs=null;
int j=0;
try{
con=source.getConnection();
stmt=con.createStatement();
con.setAutoCommit(false);
j=stmt.executeUpdate(strSql);
if(j>0){
con.commit();
}else{
con.rollback();
}
}catch(Exception e){
System.out.println("update error:"+e.getMessage());
}finally{
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
}
return j;
}
/**
* @param executeDelete删除数据方法
* @return 删除数据数(int)
*/
public int executeDelete(String strSql) throws SQLException{
rs=null;
int j=0;
try{
con=source.getConnection();
stmt=con.createStatement();
con.setAutoCommit(false);
j=stmt.executeUpdate(strSql);
if(j>0){
con.commit();
}else{
con.rollback();
}
}catch(Exception e){
System.out.println("Delete error:"+e.getMessage());
}finally{
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
}
return j;
}
}