| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 337 人关注过本帖
标题:求助高手,修改考试程序
只看楼主 加入收藏
tmjnng
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-6-30
结帖率:100%
收藏
 问题点数:0 回复次数:0 
求助高手,修改考试程序
不要用数据库,改为用本地的文件夹  代码如下:
import java.awt.BorderLayout;  

 import java.util.*;  

 import java.awt.event.*;  

 import java.awt.Container;  

 import java.awt.EventQueue;  

 import java.sql.Connection;  

 import java.sql.DriverManager;  

 import java.sql.ResultSet;  

 import java.sql.Statement;  

 import javax.swing.JButton;  

 import javax.swing.JFrame;  

 import javax.swing.JLabel;  

   

   

 public class Test extends JFrame {  

     public static final String DBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";  

     public static final String DBURL="jdbc:sqlserver://localhost:1433;DatabaseName=SystemTest;SelectMethod=Cursor";  

     public static final String DBUSER="sa";  

     public static final String DBPASSWORD="123";  

     public static Connection conn=null;  

     public static Statement stmt=null;  

     public static Statement stmt1=null;  

     public static Statement stmt2=null;  

     public static ResultSet rs=null;      

     public static ResultSet rs1=null;  

   

     public static void main(String args[]) {  

         try{  

      //数据库的连接。  

             Class.forName(DBDRIVER);  

             conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);  

             stmt= conn.createStatement(ResultSet. TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);  

             stmt1= conn.createStatement(ResultSet. TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);  

             stmt2= conn.createStatement(ResultSet. TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);  

   

         }catch(Exception e)  

         {  

             e.printStackTrace();  

         }  

         Test t1=new Test();  
         t1.sel_save();  

           

           

         EventQueue.invokeLater(new Runnable() {  

             public void run() {  

                 try {  

                     Test frame = new Test();  

                     frame.setVisible(true);  

                     frame.addWindowListener(new WindowAdapter(){  

                         public void windowClosing(WindowEvent e)  

                         {  

                             System.exit(0);  

                            /*try{  

                                   sql_1="delete from stu_selAns";  

                                     stmt=conn.createStatement();  

                                     rs=stmt.executeQuery(sql_1);  

                             }  

                           catch(Exception event)  

                          {  

                          }*/  

                         }  

                     });  

                 } catch (Exception e) {  

                     e.printStackTrace();  

                 }  

             }  

         });  

     }  

   

     /**  

      * Create the frame  

     */  

     public Test() {  

         super();  

         setBounds(100, 100, 500, 386);  

         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

         setTitle("测试");  

            

             final Container container = new Container();  

         container.setLayout(null);  

         getContentPane().add(container, BorderLayout.CENTER);  

   

         label = new JLabel();  

         label.setBounds(22, 68, 462, 57);  

         container.add(label);  

   
           

   

         final JButton nextButton = new JButton();  

         nextButton.setText("next");  

         nextButton.setBounds(60, 270, 106, 28);  

         container.add(nextButton);  

         nextButton.addActionListener(new ActionListener(){  

             public void actionPerformed(ActionEvent event)  

            {      

                   int current=Integer.parseInt(label_3.getText());   

                   current+=1;  

                   if(current>0 &¤t<=10)  

                       {  

                       label_3.setText(""+current);  

                       label_3.setVisible(true);   

                       sel_show(current);  

                       }  

                     

                   label_2.setVisible(false);  

                   label_1.setVisible(false);  

             }  

         });  

   

         button = new JButton();  

        button.setText("显示答案");  

         button.setBounds(224, 270, 106, 28);  

         container.add(button);  

         button.addActionListener(new ActionListener(){  

             public void actionPerformed(ActionEvent event)  

             {  

                 label_1.setVisible(true);  

                 label_2.setVisible(true);  

                int current=Integer.parseInt(label_3.getText());   

                 current+=1;  

                try{  

                     sql="select sel_Ans from stu_selAns where sel_Id="+current;  

                     stmt=conn.createStatement();  

                     rs=stmt.executeQuery(sql);  

                     while(rs.next())  

                     {  

                         label_2.setText(rs.getString(1));  

                     }  

                 }catch(Exception e)  

                 {  

                        

                 }  

             }  

         });  

   

         label_1 = new JLabel();  

         label_1.setText("正确答案是:");  

         label_1.setBounds(22, 199, 78, 28);  

         container.add(label_1);  

         label_1.setVisible(false);  

   

         label_2 = new JLabel();  

         label_2.setBounds(106, 199, 323, 28);  

         container.add(label_2);  

         label_2.setVisible(false);  

   

         button_1 = new JButton();  

         button_1.setText("退出");  

         button_1.setBounds(349, 270, 106, 28);  

         container.add(button_1);  

         button_1.addActionListener(new ActionListener(){  

             public void actionPerformed(ActionEvent event)  

             {     

                 dispose();  

                 /*try{  

                      sql_1="delete from stu_selAns";  

                      stmt=conn.createStatement();  

                      rs=stmt.executeQuery(sql_1);  

                  }catch(Exception e)  

                  {  

                      e.printStackTrace();  

                  }*/

             }  

         });  

   

        label_3 = new JLabel();  

         label_3.setBounds(363, 175, 66, 18);  

         container.add(label_3);  

         label_3.setVisible(false);  

         label_3.setText("0");  

     }  

        

     //此方法用于获取选择题的数目。  

     public int sel_count()  

     {   

         int n = 0;  

         try{  

             Connection conn=null;  

             Statement stmt=null;  

             ResultSet rs=null;  

             Class.forName(DBDRIVER);  

             conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);  

             sql_1="select COUNT(selId) from sel_test where selId=1";  

             stmt=conn.createStatement();  

             rs=stmt.executeQuery(sql_1);  

               

             if(rs.next())  

               {  

                  n=rs.getInt(1);  

               }  

         }  

          catch(Exception e )  

             {  

                 e.printStackTrace();  

              }  

          return n;  

     }  
     

     //此方法用于产生十道选择题的随机数。  

    public int[]  Random()  

     {         

         Test st=new Test();  

         int  n=st.sel_count();  

               

             int[] numbers=new int[n];  

             for(int i=0;i<numbers.length;i++)  

                 numbers[i]=i+1;  

             int[] result=new int[10];  

             for(int i=0;i<result.length;i++)  

             {  

                 int r=(int)(Math.random()*n);  

                 result[i]=numbers[r];  

                 numbers[r]=numbers[n-1];  

                 n--;  

             }  

          return result;  
     }  

        

     //此方法实现存取随机抽取的选择题   

     public  void sel_save()  

     {     

         Test s=new Test();  

         int k[]=s.Random();  
         Arrays.sort(k);  

            for(int i=0;i<k.length;i++)  
         {  

                System.out.println(k[i]);   

             try{  

                 sql_2="select selNo,selInf,selA,selB,selC,selD,selAns from sel_test where selNo="+k[i];  

                 sql=" insert into stu_selAns(sel_No,sel_Inf,sel_A,sel_B,sel_C,sel_D,sel_Ans)"+sql_2;  

                    

                 stmt=conn.createStatement();  

                 stmt1=conn.createStatement();  

               

                 rs=stmt1.executeQuery(sql);  

                 while(rs.next())  

                 {  

                     stmt1.execute(sql);  

                 }  

             }catch(Exception e)  

             {  

                 e.printStackTrace();  

             }  
         }  

            //此处的FOR循环实现将试题的题号从一到十进行排列。  

             for(int j=0;j<k.length;j++)  

                {                      //System.out.println(k[j]+"a");//用于测试产生的随机数是否相同。  

                  try{  

                           sql="update stu_selAns set sel_Id="+(j+1)+"where sel_No="+k[j];  

                           stmt=conn.createStatement();  

                           rs=stmt.executeQuery(sql);  

                      }catch(Exception e)  

                       {  

                           e.printStackTrace();   

                       }  

               }  
     }  

        

     //此方法实现选择题的调用  

     public void sel_show(int i)  

     {     

         try{  

             sql="select sel_Inf ,sel_Ans from stu_selAns where sel_No="+i;  

                 stmt=conn.createStatement();  

                 rs=stmt.executeQuery(sql);  

                 while(rs.next())  

                   {  

                     label.setText(rs.getString(1));  

                     label_2.setText(rs.getString("sel_Ans"));  

                   }  

             }catch(Exception e)  

             {  

                 e.printStackTrace();  

             }  

     }  

 private String sql;  

 public static String sql_1;  

 private String sql_2;  

 private JLabel label;  

 private JLabel label_1;  

 private JLabel label_2;  

 private JLabel label_3;  

 private JButton button; //显示答案的按钮。  

 private JButton button_1;  

 }  

搜索更多相关主题的帖子: public 数据库 
2011-06-29 15:33
快速回复:求助高手,修改考试程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066257 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved