SQL代码:
if exists (select * from sysdatabases where name='ware')
drop database warecreate database ware
on (name='ware_data',filename='F:\java\review\src\review\ware_data.mdf',size=10,maxsize=50,filegrowth=1)
log on (name='ware_log',filename='F:\java\review\src\review\ware_log.ldf',size=10)
create table Ware(warename varchar(50) not null,wareamount int not null)
连接代码:
package review;import review.*;
import java.sql.DriverManager;
import  java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;
public class WareConnection {
    Connection con;
    PreparedStatement pre;
    String name;
 int Amount;
 public void   setname(String name)
{
    this.name=name;
}
public void setamount(int amount)
{
    this.Amount=amount;
}
public String getname()
{
   return this.name;
}
public int getamount()
{
   return this.Amount;
}
    public WareConnection() {
    }
    public void getConnection()
    {
        try{
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        } catch(ClassNotFoundException e)
        {
            System.out.print(e);
        }
        try{
            String url="jdbc:odbc:test";
         con=DriverManager.getConnection(url);
System.out.println("连接成功");
        }catch(SQLException ee)
        {
              System.out.print(ee);
        }
    }
public void display(WareConnection ware) throws SQLException
{
    try {
        String str = "insert into Ware(warename,wareamount)values(?,?)";
        pre=con.prepareStatement(str);
        pre.setString(1, ware.getname());
        pre.setInt(2, ware.getamount());
        pre.executeUpdate();
    }finally{
        try {
            // con.close();
            pre.close();
        } catch (SQLException ie) {
            System.out.print(ie);
        }        }
}
  public static void main(String[] args)
    {
        WareConnection ware=new WareConnection();
        ware.getConnection();
     // ware.display(WareConnection ware );
    }
}
框架中的一部分代码
一个按钮事件
 public void jButton1_actionPerformed(ActionEvent e) {
        ware.setname(jTextField1.getText());
        Integer a=new Integer(jTextField1.getText());
        ware.setamount(a.intValue());
  // ware.display(WareConnection ware);
       if(ware.setname("")==null||ware.setamount("")==null)
       {
            jOptionPane1.showMessageDialog(this,"请输入完整","提示",jOptionPane1.ERROR_MESSAGE);
       }
    }
这个按钮事件怎么该啊,我不会插入.请各位指点迷津.

解决方案 »

  1.   

    你的public void display(WareConnection ware) throws SQLException 这个方法声明有点问题吧,你把这个数据库操作的类传到自己里面有什么用啊,如果在你的界面中没有实例WareConnection这个类的对象的话你在ware.display(WareConnection ware); 这里调用应该会返回空指针异常吧,而且你调用display方法的时候WareConnection ware这样写肯定是错误的。如果你要完成点击Button来对数据库进行插入操作的话,看看以下的对你有没有帮助。
    1、可以把数据库连接操作写在构造中,这样实例后就可得到Connection对象了
    2、public void display(WareConnection ware) throws SQLException 改成 public Boolean executeUpdate(),用一个boolean变量来判断是否insert成功
    3、在你界面的类中,实例WareConnection ware = new WareConnection();在Button事件中写
      ware.setname(jTextField1.getText()); 
      Integer a=new Integer(jTextField1.getText()); 
      ware.setamount(a.intValue());
      boolean result = ware.dispaly();
    通过result来判断是否成功