链接sql server经典实例

来源:互联网 发布:淘宝贴纸卖点怎么写 编辑:程序博客网 时间:2024/05/22 15:13

链接sql server经典代码实例

(注意:代码的红色字体为链接数据库的关键代码

  使用sql server时注意配置数据源)


(如果需要完整的链接sql server的学生管理系统,去我的博客下载完整的项目)

---------------------------------

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.util.Vector;

import javax.swing.*;
public class student1 extends JFrame implements ActionListener{

 /**
  * @param args
  */
 JPanel mb1,mb2;
 JLabel bq1;
 JTextField wbk1;
 JButton an1,an2,an3,an4;
 JTable bg1;
 JScrollPane gd1;
 
 Vector ziduan,jilu;
 //数据库所需要的几个变量
 PreparedStatement ps =null;
 Connection ct = null;
 ResultSet rs = null;
 
 @SuppressWarnings("unchecked")
 public student1()
 {
  mb1 = new JPanel();
  bq1 = new JLabel("请输入姓名");
  wbk1 = new JTextField(10);
  an1 = new JButton("查询");
  an1.addActionListener(this);
  an1.setActionCommand("chaxun");
  mb1.add(bq1); mb1.add(wbk1);mb1.add(an1);
  
  mb2 = new JPanel();
  an2 = new JButton("添加");
  an2.addActionListener(this);
  an2.setActionCommand("tianjia");
  an3 = new JButton("删除");
  an3.addActionListener(this);
  an3.setActionCommand("xiugai");
  an4 = new JButton("修改");
  an4.addActionListener(this);
  an4.setActionCommand("shanchu");
  mb2.add(an2); mb2.add(an3); mb2.add(an4);
  
  ziduan = new Vector();
  ziduan.add("学号");
  ziduan.add("姓名");
  ziduan.add("性别");
  ziduan.add("年龄");
  ziduan.add("籍贯");
  ziduan.add("专业");
    
  jilu = new Vector();
  
  
  try{
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
//sql是配置的用户数据源的名称 sa  sa 分别是sql  server的账户名和密码
   ct = DriverManager.getConnection("jdbc:odbc:sql","sa","sa"); 
   ps = ct.prepareStatement("select * from xs");
            rs = ps.executeQuery();

            while(rs.next())
            {
             Vector hang =  new Vector() ;
             hang.add(rs.getString(1));
             hang.add(rs.getString(2));
             hang.add(rs.getString(3));
             hang.add(rs.getInt(4));
             hang.add(rs.getString(5));
             hang.add(rs.getString(6));
             jilu.add(hang);
            }
   
  }
  catch (Exception e)
  {
  }
  finally{
   
    try {
     if(rs != null)
         rs.close();
     if(ps != null)
         ps.close();
     if(ct != null)
         ct.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   
  }
  //将字段添加到表格中,然后将表格添加到滚动条中
        bg1 = new JTable(jilu,ziduan);
        gd1 = new JScrollPane(bg1);

  this.add(mb1,"North");
  this.add(gd1);
  this.add(mb2,"South");
  
  this.setTitle("学生成绩管理系统");
  this.setSize(800,600);
  this.setLocation(401, 180);
  this.setResizable(false);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setVisible(true);
 }
     
 public static void main(String[] args) {
  // TODO Auto-generated method stub
    student1 xs1 =  new student1();  
 }

 @Override
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  if(e.getSource() == an1)
  {
   String xm = this.wbk1.getText().trim();
   String sql = "select * from xs where xingming = '"+xm+"'";
   xsxx xsxx1 = new xsxx(sql);
   bg1.setModel(xsxx1);
  }
  else if(e.getSource() == an2 )
  {
   tianjia tianjia1 = new tianjia(this,"添加学生信息",true);
   xsxx xsxx2 = new xsxx();
   bg1.setModel(xsxx2);
  }
     else if(e.getSource() == an3)
  {
      xsxx xsxx2 = new xsxx();
      int ii=this.bg1.getSelectedRow();
   if(ii==-1)
   {
    JOptionPane.showMessageDialog(this,"请选中要删除的行");
    return;
   }

   String st=(String)xsxx2.getValueAt(ii,0);
      PreparedStatement ps=null;
      Connection ct=null;
      ResultSet rs=null;
      Statement sm=null;
     
      try {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       ct=DriverManager.getConnection("jdbc:odbc:sql","sa","sa");
       ps=ct.prepareStatement("delete from xs where xuehao=?");
       ps.setString(1,st);
       ps.executeUpdate();     
    } catch (Exception e2){}
       finally
       {
        try {
         if(rs!=null)
      {
       rs.close();
      }
         if(ps!=null)
      {
       ps.close();
      }
      if(ct!=null)
      {
       ct.close();
      }
      
     } catch (Exception e3){}  
       }
         xsxx2=new xsxx();
      bg1.setModel(xsxx2);
  }
  

     else if(e.getSource() == an4)
  {
      xsxx xsxx2 = new xsxx();
      //返回第一个选定行的索引;如果没有选定的行,则返回 -1。
   int ii=this.bg1.getSelectedRow();
   if(ii==-1)
   {
    JOptionPane.showMessageDialog(this,"请选中要修改的行");
    return;
   }
   new xssc(this,"修改学生信息",true,xsxx2,ii);
   
   xsxx2=new xsxx();
   bg1.setModel(xsxx2);
  }
 }
 
 

}

0 0