package  source;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.*;
public class JdbcConnection implements ActionListener
{    
   //  Connection  conn;  
     JButton jb1=new JButton("插入");
     JButton jb2=new JButton("保存");
 JTextField jt1=new JTextField(8);
 JTextField jt2=new JTextField(8);
 JTextField jt3=new JTextField(8);
 JTextField jt4=new JTextField(8);
 JTextField jt5=new JTextField(8);
 public  JdbcConnection()
   {
   JFrame jf=new JFrame("插入框架");
   jf.setBounds(400,400,400,400);
   jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JPanel jp=new JPanel();
   JLabel jl1=new JLabel("请输入要插入的学号:");
   JLabel jl2=new JLabel("请输入要插入的姓名:");
   JLabel jl3=new JLabel("请输入要插入的性别:");
   JLabel jl4=new JLabel("请输入要插入的年龄:");
   JLabel jl5=new JLabel("请输入要插入的院系:");
   
   jb1.addActionListener(this);
   jb2.addActionListener(this);
   
   jp.add(jl1);
   jp.add(jt1);
   jp.add(jl2);
   jp.add(jt2);
   jp.add(jl3);
   jp.add(jt3);
   jp.add(jl4);
   jp.add(jt4);
   jp.add(jl5);
   jp.add(jt5);
   
   jp.add(jb1);
   jp.add(jb2);
   jf.add(jp);
   
   jf.setVisible(true);
}

public void clearsave()
  {
    
    
      jt1.setText("");
      jt2.setText("");
      jt3.setText("");
      jt4.setText("");
      jt5.setText("");
       jb2.setEnabled(true);
       

  }

 
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb1)
 clearsave();
 if(e.getSource()==jb2)
  saveRecord();
}
public Connection con()
{
String url="jdbc:odbc:source";
try 
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
return con;
 
}
catch(Exception e)
{
System.out.println("error");
return null;
} } public void saveRecord()
{
try 
{   
PreparedStatement psm=con().prepareStatement("insert into 学生表Students  values(?,?,?,?,?)");
psm.setString(1,jt1.getText());
psm.setString(2,jt2.getText());
psm.setString(3,jt3.getText());
psm.setString(4,jt4.getText());
psm.setString(5,jt5.getText());
psm.executeUpdate();
JOptionPane.showMessageDialog(null,"记录保存成功!");
psm.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"记录插入失败!");
}
}

public static void main(String args[])
{
new JdbcConnection();
}
}
请各位大侠给小弟看一下为什么插入数据不成功!(我设置的ODBC数据源是source ,连接的数据库是student数据库中的学生表Students)顺便问一下数据源跟数据库名称有没有关系?设置连接时应该用,"jdbc:odbc:数据库名",还是用"jdbc:odbc:数据源名"

解决方案 »

  1.   

    使用odbc连接,应该是使用数据源的名字吧,可以换成jdbc来连接.
      

  2.   


    最好换成jdbc来用。稳定些
      

  3.   

    你在配置数据源时。odbc不是跟你的具体的数据库关联在一起的呀。所以你访问的时候。直接访问数据源。
    jdbc的话,就不需要在去配置数据源了。方便些。可移植性也比odbc要好。