⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datedb.java

📁 这是一个图书管理系统源代码
💻 JAVA
字号:
package datebase;

import date.*;
import java.sql.*;
import java.util.Vector;
import exception.*;

public class DateDB {

	protected DB db=null;
	
	public DateDB() throws Exception{
		super();
		// 取得DB的实例
		db=DB.getinstance();
	}
	
	//
	public void execute(DateBean date,String comand)throws Exception{	
		if(comand.equals("insert"))
			insert(date);
		else if(comand.equals("update"))
			update(date);
		else if(comand.equals("delet"))
			delet(date);
		else if(comand.equals("select"))
			select(date);
		else 
			throw new NoSuchSqlCommand("sql type is not exist");
		
	}
	public void insert(DateBean date) throws Exception{
		//String sql0="select "+date.getPK()+" from where "+date.getPK()+"='"+date.getPKValue()+"'";
		//ResultSet rs=db.select(sql0);
		//主键不能重复
		//if(rs.next()){
		//	date.setMessage("the primarykey is already exist");
		//	return ;
		//}
		String sql=getAddSql(date);
		db.insert(sql);

	}
	public void update(DateBean date)throws Exception{
		String sql=getUpdateSql(date);
		db.update(sql);
	}
	public void delet(DateBean date)throws Exception{
		String sql=getDeletSql(date);
		db.delet(sql);
		
	}
	public void select(DateBean date){
		
	}
	protected String getAddSql(DateBean date){
		//构造sql语句,下面是要用到的临时变量
		String metadate=null;
		String values=null;
		Vector vm=date.getMetaData();
		Vector vv=date.getMetaDataValue();
		//获得属性String
		if(vm!=null){
			int k=vm.size();
			metadate=(String)vm.elementAt(0);
			for(int i=1;i<k;i++)
			{
				metadate=metadate+","+(String)vm.elementAt(i);
			}
		}
		//获得属性值String
		if(vv!=null){
			int k=vv.size();
			values="'"+(String)vv.elementAt(0)+"'";
			for(int i=1;i<k;i++){
				values=values+","+"'"+(String)vv.elementAt(i)+"'";
			}	
		}
		//获得表名
		String table=date.getTableName();
		
		String sql="insert into "+table+"("+metadate+") "+"values("+values+")";
		
		return sql;
		
	}
	
	protected String getUpdateSql(DateBean date){
		String sql=null;
		String table=date.getTableName();
		String pk=date.getPK();
		String pkvalue=date.getPKValue();     ////////////////////////???????????????????
		Vector vm=date.getMetaData();
		Vector vv=date.getMetaDataValue();
		//构造更新的sql语句
		if(vv.size()==vm.size())
		{
			sql="update "+table+" set ";
			int k=vv.size();
			sql=sql+vm.elementAt(0)+"='"+vv.elementAt(0)+"' ";
			for(int i=1;i<k;i++){
				sql=sql+","+vm.elementAt(i)+"='"+vv.elementAt(i)+"' ";
			}
			sql=sql+" where "+pk+"='"+pkvalue+"'";
		}
		
		return sql;
	}
	protected String getDeletSql(DateBean date){
		String sql=null;
		String table=date.getTableName();
		String pk=date.getPK();
		String pkvalue=date.getPKValue();
		sql="delete from "+table+" where "+pk+"='"+pkvalue+"'";
		return sql;
	}

	protected String getSelectSql(DateBean date){
		String sql=null;
		
		return sql;
	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -