📄 dboperate.java
字号:
package dboperate;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JOptionPane;
public class dboperate {
Connection conn=null;
Statement stm=null;
ResultSet rs=null;
//struct
public dboperate() {
connectDB("localhost","1433","sa","sa");
}
// /**
// * 加载数据库驱动并建立连接
// * @连接成功返回true
// */
// public boolean connectDB(){
// String DBurl="jdbc:microsoft:sqlserver://localhost:1433;databasename=schools";
// boolean conok=false;
// try {
// //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//加载jdbc驱动
// conn=DriverManager.getConnection(DBurl, "sa", "sa");
// conok=true;
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// JOptionPane.showMessageDialog(null, "加载数据库驱动失败!");
//
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// JOptionPane.showMessageDialog(null, "数据库连接出错请检查数据库!");
// e.printStackTrace();
// }
//
// return conok;
// }//end empty connect
/**
* 连接数据库方法 重载connectDB dboperate中
* @param hostName 主机名
* @param portsNum 端口号
* @param uname 数据库用户名
* @param upwd 数据库用户密码
* @return 连接成功返回true
*/
public boolean connectDB(String hostName,String portsNum,String uname,String upwd){
String DBurl="jdbc:microsoft:sqlserver://"+hostName+":"+portsNum+";databasename=schools";
boolean conok=false;
try {
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//加载jdbc驱动
conn=DriverManager.getConnection(DBurl, uname, upwd);
conok=true;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null, "加载数据库驱动失败!");
} catch (SQLException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null, "数据库连接出错请检查数据库!");
e.printStackTrace();
}
return conok;
}//end empty connect
/**
* 传入一个表名 和一个数字的主键列 返回主键列中最大的数字+1后的值
* @param 表的名字
* @param 主键列名 必需是数字!
* @return
*/
public int howMuchline(String tableName,String columnName){
int linea=0;//返回多少行默认0
try {
stm=conn.createStatement();
String sqls="select max("+columnName+") from "+tableName;
rs=stm.executeQuery(sqls);
if(rs.next()){
linea=rs.getInt(1)+1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null, "没有结果返回!");
}
return linea;
}//结束编号
/**
* 执行sql语句的方法
* @param 传入一个sql语句
* @return执行成功返回true
*/
public boolean executeSqls(String sqls){
boolean excuteok=false;
try {
stm=conn.createStatement();
stm.execute(sqls);
excuteok=true;
} catch (SQLException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null, "语句执行失败!");
//e.printStackTrace();
}
return excuteok;
}
/**
* 查询并返回结果方法
* @param 传入一个sqls语句
* @return 返回一个容器
*/
public Vector selectDB(String sqls){
Vector vt=new Vector();
try {
stm=conn.createStatement();
rs=stm.executeQuery(sqls);
ResultSetMetaData rm=rs.getMetaData();
while(rs.next()){
Vector rows=new Vector();
for(int i=1;i<=rm.getColumnCount();i++){
rows.add(rs.getString(i));
}
vt.add(rows);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return vt;
}//end select
/**
* 关闭数据库方法
* @return 关闭成功返回true
*/
public boolean closeDB(){
boolean closeok=false;
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
rs=null;
}
}
if(stm!=null){
try {
stm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
stm=null;
}
}
if(conn!=null){
try {
conn.close();
closeok=true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
conn=null;
}
}
return closeok;
}
/**
* 根据用户名返回用户个数
* @param 用户名
* @return 用户个数
*/
public int findUsersum(String uname){
int usersums=0;
try {
stm=conn.createStatement();
rs=stm.executeQuery("select count(*) from userst where uname='"+uname+"'");
if(rs.next()){
usersums=rs.getInt(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return usersums;
}
public String findUserpass(String uname){
String upwds="";
try {
stm=conn.createStatement();
rs=stm.executeQuery("select upwd from userst where uname='"+uname+"'");
if(rs.next()){
upwds=rs.getString(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return upwds;
}
// //start main
// public static void main(String[] args) {
// dboperate db=new dboperate();
// System.out.println(db.howMuchline("zhuanyet", "zyid"));
// System.out.println(db.selectDB("select * from zhuanyet"));
// System.out.println(db.findUsersum("vslk"));
// System.out.println(db.findUserpass("vsk"));
//
// }//end main
}//end dboperate class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -