📄 dbcon.java
字号:
package myprojects.DBcon;
import java.sql.*;
public class DBcon
{
public ResultSet rstSelect=null;
public ResultSet rstInsert=null;
private Statement statSelect;
private Statement statInsert;
private Connection con;
private String strUser=null;
private String DbDriver="sun.jdbc.odbc.JdbcOdbcDriver";
private String DbCon="jdbc:odbc:HomeManage";
/**
* 函数名:getConnection
* 编写者:郭军
* 功 能:初始化与数据库的连接
* 输入参数:
* 输出参数:
* 备 注:
*/
public boolean getConnection()
{
try
{
Class.forName(DbDriver); //载入驱动程序
con=DriverManager.getConnection(DbCon); //建立连接
con.setAutoCommit(false);
con.setTransactionIsolation(con.TRANSACTION_SERIALIZABLE);
//初始化状态集
statSelect=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
statInsert=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
System.out.println("**************************与数据库HomeManage连接成功!**************************");
}
catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
return false;
}
return true;
}
public String getUser()
{
return "1";
}
/**
* 函数名:getDH
* 编写者:郭军
* 功 能:
* 输入参数:
* 输出参数:
* 备 注:
*/
public String getDH(String DH)
{
String strSQL=null;
String strDH="none";
long lmid=0;//设定一个中间处理变量
strSQL="select JZDH from writeDetails where JZDH like '"+ DH +"%'";
strSQL=strSQL+"order by JZDH DESC";
try
{
rstSelect=statSelect.executeQuery(strSQL);
if(rstSelect.next())
{
rstSelect.first(); //记录集移到第一条
strDH=rstSelect.getString("JZDH");//取出对应的处方单号
}
}
catch(SQLException es)
{
System.out.println("错误是: "+es.getMessage());
es.getStackTrace();
strDH="Error"; //置返回值为ERROR
}
return strDH;
}
public int saveTable(String[] lstSave)
{
int intSave=0; //定义一个返回值
String strSave="";
strSave="insert into writeDetails(";
strSave=strSave+"JZDH,amountID,userid,writeTime,usetime,details,place,price,amount,itemCharge,mark)";
strSave=strSave+"values(";
strSave=strSave+"'"+ lstSave[0]+"','"+ lstSave[1]+"','"+lstSave[2] +"',";
strSave=strSave+"'"+ lstSave[3]+"','"+ lstSave[4]+"','"+lstSave[5] +"',";
strSave=strSave+"'"+ lstSave[6]+"','"+ lstSave[7]+"','"+lstSave[8] +"',";
strSave=strSave+"'"+ lstSave[9]+"','"+ lstSave[10]+"')";
try
{
intSave=statInsert.executeUpdate(strSave); //执行SQL更新命令
con.commit();
System.out.println("成功执行saveTable语句:"+strSave);
System.out.println("*******************************************************************************");
}
catch(SQLException eSave)
{
System.out.println(eSave.getMessage());
eSave.printStackTrace();
try
{
con.rollback(); //如果更新失败就回滚
}
catch(SQLException eSave2)
{;}
return -1; //重置返回值
}
return intSave;
}
public int saveDetails(String strDetails)
{
String strSelect=null;
String strInsert=null;
String strTimes=null;
int saveDetails=0;
strInsert="insert into useItem(itemDetails,useTimes) values(";
strInsert=strInsert+"'"+strDetails+"','1')";
strSelect="select * from useItem where itemDetails='"+strDetails+"'";
try
{
rstSelect=statSelect.executeQuery(strSelect);
if(rstSelect.next())
{
rstSelect.first();
strTimes=rstSelect.getString("useTimes");
strTimes=Integer.toString(Integer.parseInt(strTimes)+1);
try
{
String update="update useItem set useTimes='"+strTimes+"' where ";
update=update+"itemDetails='"+strDetails+"'";
int NO=statInsert.executeUpdate(update);
con.commit();
System.out.println(strDetails+" 项目使用次数更新成功!");
}
catch(SQLException eUp)
{
eUp.printStackTrace();
try
{
con.rollback(); //如果更新失败就回滚
}
catch(Exception eUp2)
{;}
return -1;
}
}
else
{
saveDetails=statInsert.executeUpdate(strInsert);
con.commit();
System.out.println("消费项目: "+strDetails+" "+"插入成功!");
}
}
catch(SQLException e)
{
System.out.println("消费项目: "+strDetails+" "+"执行错误!");
}
return saveDetails;
}
public int savePlace(String strPlace)
{
String strSelect=null;
String strInsert=null;
String strTimes=null;
int saveDetails=0;
strInsert="insert into usePlace(place,useTimes) values(";
strInsert=strInsert+"'"+strPlace+"','1')";
strSelect="select * from usePlace where Place='"+strPlace+"'";
try
{
rstSelect=statSelect.executeQuery(strSelect);
if(rstSelect.next())
{
rstSelect.first();
strTimes=rstSelect.getString("useTimes");
strTimes=Integer.toString(Integer.parseInt(strTimes)+1);
try
{
String update="update usePlace set useTimes='"+strTimes+"' where ";
update=update+"place='"+strPlace+"'";
int NO=statInsert.executeUpdate(update);
con.commit();
System.out.println(strPlace+" 地点使用次数更新成功!");
}
catch(SQLException eUp)
{
eUp.printStackTrace();
try
{
con.rollback(); //如果更新失败就回滚
}
catch(Exception eUp2)
{;}
return -1;
}
}
else
{
saveDetails=statInsert.executeUpdate(strInsert);
con.commit();
System.out.println("消费地点: "+strPlace+" "+"插入成功!");
}
}
catch(SQLException e)
{
System.out.println("消费地点: "+strPlace+" "+"执行错误!");
}
return saveDetails;
}
public String getDetails()
{
String strDetails=null;
String strGet=null;
strGet="select * from useItem order by useTimes desc";
try
{
rstSelect=statSelect.executeQuery(strGet);
if(rstSelect.next())
{
rstSelect.first();
strDetails=rstSelect.getString("itemDetails");
}
}
catch(SQLException ex)
{
System.out.println("错误是: "+ex.getMessage());
ex.getStackTrace();
strDetails="Error";
}
return strDetails;
}
public int getJZMX(String strDH)
{
int i=0; //设一个记数号!
String strSQL="select JZDH,amountID,details,useTime,place,price,amount,itemCharge,mark from writeDetails ";
strSQL=strSQL+"where JZDH like'%"+ strDH +"%' order by JZDH asc,amountID desc";
try
{
rstSelect=statSelect.executeQuery(strSQL); //执行SQL查询语句
rstSelect.last(); //将记录集移到最后
i=rstSelect.getRow(); //得到最后一行的列号作为记录的总条数
//rstSelect.first(); //将记录集移到第一条记录
}
catch(SQLException exDH)
{
i=-1; //设定返回值
System.out.println("处方信息错误是: "+exDH.getMessage());
exDH.getStackTrace();
}
return i;
}
public String getPlace()
{
String strPlace=null;
String strGet=null;
strGet="select * from usePlace order by useTimes desc";
try
{
rstSelect=statSelect.executeQuery(strGet);
if(rstSelect.next())
{
rstSelect.first();
strPlace=rstSelect.getString("place");
}
}
catch(SQLException ex)
{
System.out.println("错误是: "+ex.getMessage());
ex.getStackTrace();
strPlace="Error";
}
return strPlace;
}
public int checkUser(String userid,String pass)
{
int checkFlag=0;
String strCheck=null;
strCheck="select * from userInfo where userID=";
strCheck=strCheck+"'"+userid+"' and pwd='"+pass+"'";
System.out.println(strCheck);
try
{
rstSelect=statSelect.executeQuery(strCheck);
if(rstSelect.next())
{
rstSelect.first();
checkFlag=1;
System.out.println("***********************************登录成功************************************");
}
else
{
System.out.println("***********************************密码错误************************************");
}
}
catch(SQLException e)
{
System.out.println("调用DBcon中的checkUser时出错!");
System.out.println(e.getMessage());
e.getStackTrace();
}
return checkFlag;
}
public int updateUser(String userid,String newPass)
{
int upFlag=0;
String strUpdate=null;
strUpdate="update userInfo set pwd='"+newPass+"' where userID='"+userid+"'";
System.out.println(strUpdate);
try
{
statInsert.executeUpdate(strUpdate);
con.commit();
upFlag=1;
}
catch(SQLException e)
{
System.out.println("调用DBcon中的updateUser时出错!");
System.out.println(e.getMessage());
e.getStackTrace();
}
return upFlag;
}
/**
* 函数名:getNowDate
* 编写者:郭军
* 功 能:得到当前日期
* 输入参数:
* 输出参数:
* 备 注:
*/
public String getNowDate()
{
String getNowDate = null;
try
{
String strSQL = ""; //定义SQL字符串
strSQL = "SELECT SUBSTRING(CONVERT(VARCHAR(16),GETDATE(),120),1,16) AS SYSDATE";
rstSelect = statSelect.executeQuery(strSQL); //执行SQL结果保存在动态集里
while(rstSelect.next())
{
getNowDate = rstSelect.getString("SYSDATE");
}
}
catch (Exception se)
{
System.out.println(se.getMessage());
se.printStackTrace();
}
return getNowDate; //返回当前时间
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -