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

📄 dindao.java

📁 基于JSP的航空机票订票系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:


package com.dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Calendar;

public class DinDao
{

   // inset 插入用户所选择航班的信息
        public int inset(Connection connection,Sched sch, int dal,String id)
	{
		int value=-1;
                int var=-1;
                int i=0;
		PreparedStatement statement=null;
                PreparedStatement stat=null;
                PreparedStatement state=null;
                //查询数据库中是否有该航班记录
		String sql2="select Hao,Piao from din where Hao=? and id=?";
                // 插入用户所选择航班的信息
                String sql="insert into din(Id,Hao,Qifei,Mudi,Rqi,Jiage,Piao) value(?,?,?,?,?,?,?)";
		//  根据用户名和航班号修改票数
                String sql3="update din set Piao=? where Hao=? and id=?";
                ResultSet result=null;
                
                try
		{
                    // 进行数据库查询
                        stat=connection.prepareStatement(sql2);
                        stat.setString(1,sch.getHao());
                        stat.setString(2,id);
                        result=stat.executeQuery();
                        //判断是否有该航班号的记录
                        while(result.next())
                        {
                            // 判断是否有该航班记录,如果有,var=1;
                            
                            var=1;
                            
                            i=result.getInt("Piao");
                        }
                        if(var==-1)
                        {
                            // 如果var=-1则表示没有改航班的记录,则将用户所订航班信息插入数据库中
                            statement=connection.prepareStatement(sql);
                            statement.setString(1,id);
                            statement.setString(2,sch.getHao());
                            statement.setString(3,sch.getQifei());
                            statement.setString(4,sch.getMudi());
                            statement.setString(5,sch.getRqi());
                            statement.setInt(6,sch.getJiage());
                            statement.setInt(7,dal);
                            value=statement.executeUpdate();
                            return value;
                        }
                        if(var==1)
                        {
                           //如果var=1则表示有改航班记录,得到记录中的票数+当此用户所订票数
                            // 进行数据库的修改
                            int j=i+dal;
                            state=connection.prepareStatement(sql3);
                            state.setInt(1,j);
                            state.setString(2,sch.getHao());
                            state.setString(3,id);
                             value=state.executeUpdate();
                             return value;
                        }
			
		}
		catch (SQLException e)
		{
		}
		finally
		{
			try
			{
				if(statement!=null)statement.close();
			}
			catch (SQLException ee)
			{
			}
		}
		return value;
	}
        // 修改管理员所制定改航班的票数
        public int update(Connection connection,Sched sch,int dal)
        {
            int wat=-1;
            int i=0;
            int j=0;
            PreparedStatement statement=null;
            PreparedStatement state=null;
            // 获得航班号 , 查询该航班的票数
            String sql="select Piaosu from sch where Hao=?";
            // 修改该航班的票数
            String sql2="update sch set Piaosu=? where Hao=?";
            ResultSet resultset=null;
            try
            {
                //查询操作
                statement=connection.prepareStatement(sql);
                statement.setString(1,sch.getHao());
                resultset=statement.executeQuery();
                if(resultset.next())
                {
                    // 获得航班票数
                    i=resultset.getInt("Piaosu"); 
                }
                // 航班票数减用户所订购票数 得到剩余票数
               j=i-dal;
               // 修改该航班的可定票数
               state=connection.prepareStatement(sql2);
               
               state.setInt(1,j);
               state.setString(2,sch.getHao());
               wat=state.executeUpdate();
               return wat;              
            }
          
            catch(SQLException e)
            {
            }
            finally
            {
                try
                {
                    if(resultset!=null) resultset.close();
                    if(statement!=null) statement.close();
                }
                catch(SQLException e)
                {
                    
                }  
            }
            return wat;
        }
        //check 获得航班号 进行查询航班号信息
        public Sched check(Connection connection,String str)
        {
            Sched sch=new Sched();
            String sql="select Hao,Rqi, Qifei,Mudi,Jiage,Piaosu from sch where Hao=? ";
            PreparedStatement statement=null;
            ResultSet resultset=null;
             try
            {
                    statement=connection.prepareStatement(sql);
                    statement.setString(1,str);
                    resultset=statement.executeQuery();
                    while(resultset.next())
                    {  
                        sch.setHao(resultset.getString("Hao"));
                        sch.setRqi(resultset.getString("Rqi"));   
                        sch.setQifei(resultset.getString("Qifei"));
                        sch.setMudi(resultset.getString("Mudi"));
                        sch.setJiage(resultset.getInt("Jiage"));  
                        sch.setPiaosu(resultset.getInt("Piaosu"));
                    }
                    return sch;
             }
             catch(SQLException e)
             {
                 
             }
            finally
            {
                try
                {
                    if(statement!=null) statement.close();
                    if(resultset!=null) resultset.close();
                }
                catch(SQLException ee)
                {
                    
                }
            }
            return sch;        
        }
        // quest 根据用户名来获得该用户所订购的所有航班
        public ArrayList quest(Connection connection, String id)
        {
            ArrayList ary=new ArrayList();
            // 查询用户订票信息
            String sql="select * from din where Id=?";
            PreparedStatement statement=null;
            ResultSet resultset=null;
            try
            {
                statement=connection.prepareStatement(sql);
                statement.setString(1,id);
                resultset=statement.executeQuery();
                while(resultset.next())
                {
                    Sched sch=new Sched();
                    sch.setHao(resultset.getString("Hao"));
                    sch.setQifei(resultset.getString("Qifei"));
                    sch.setMudi(resultset.getString("Mudi"));
                    sch.setRqi(resultset.getString("Rqi"));
                    sch.setJiage(resultset.getInt("Jiage"));
                    sch.setPiaosu(resultset.getInt("Piao"));
                    //如果所订航班票数等于0 那么则不将该航班信息放入ArrayList动态数组中
                    //在JSP页面中省略了票数为0的航班
                    if(resultset.getInt("Piao")!=0)
                    {
                        ary.add(sch);
                    }
                    
                }
                return ary;
            }
           catch(SQLException e)
            {
                
            }
            finally
            {
                try
                {
                    if(statement!=null) statement.close();
                    if(resultset!=null) resultset.close();

⌨️ 快捷键说明

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