import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
//import javax.swing.*;public class a extends Frame 
{ Database DB=new Database();
ResultSet rs;
String sql=new String();
Label l=new Label();
Label l1=new Label();
TextField t1=new TextField();
TextField t=new TextField();
Button b=new Button("ok");
Label l2=new Label();
public a()
{
setLayout(null);
setSize(300,300);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);}});
l.setText("shuxu");
l.setBounds(new Rectangle(20,40,70,20));
add(l,null);
t.setBounds(new Rectangle(120,40,70,20));
add(t,null);
l1.setText("wuli");
l1.setBounds(new Rectangle(20,70,70,20));
add(l1,null);
t1.setBounds(new Rectangle(120,70,70,20));
add(t1,null);

b.setBounds(new Rectangle(80,90,30,20));
add(b,null);
l2.setText("result");
l2.setBounds(new Rectangle(100,200,40,20));
add(l2,null);
b.addActionListener(new ActionListener()///////////////////ActionListener start
{
public void actionPerformed(ActionEvent e)
{
sql="insert into xiong values"+     /////////  Database operator start
"("+Integer.parseInt(t.getText())+
Integer.parseInt(t1.getText())+")";
if(DB.executeSql(sql))
l2.setText("success");
else
l2 .setText("faid");/////////////////Database operator end
}
});/////////////////////////////ActionListener end
setVisible(true);
}
public static void main(String[] args)
{
new a();
}
}
 //////////////////////////////////////////////////////////////
这个是数据库界面设计,下面是数据库连接所有操作的类,是为了加快数据库设计的速率
//////////////////////////////////////////////////////////////  
import java.sql.*;
import java.io.*;
public class Database
{
ResultSet rs;
String url="jdbc:odbc:sa";
public ResultSet getResult(String sql)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery(sql);
return rs;
}
catch(Exception e)
{
System.out.print("getResult---"+e.toString());
return null;
}
}
public boolean executeSql(String sql)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
con.commit();
return true;
}
catch(Exception e){

System.out.print("executeSql---"+e.toString());
return false;
}
}
public Database()
{
}

}

////////////////////////////////////
问题是怎么就插入不了数据,结果报错是"插入错误,列名或提供的数值和表定义不匹配"
怎么会这样啊.大哥门.我建立的表是create table xiong(shuxu int,wuli int);我是插入两个数据啊,也同时都上int 型啊.怎么能说不匹配呢?大哥门真的要帮我,这样下去我很累的.对自己很失望

解决方案 »

  1.   

    sql="insert into xiong values"+     /////////  Database operator start
    "("+Integer.parseInt(t.getText())+
    Integer.parseInt(t1.getText())+")";
    ---------------
    sql ="insert into xiong (shuxu,wuli) values (" + t.getText()+","+t1.getText()+")";
      

  2.   

    高手大哥.我按你说话做了,还是没用啊.现在抱错是"对象xiong"没用,无效
    怎么办啊,急死我了
      

  3.   

    你先不用着急在程序中试验,先把你程序生成的SQL语句打印出来,在DBMS中手工执行一次,这样可以检查自己的SQL语言构建得是否正确,可以把错误隔离。如果能执行就说明你的SQL语句没问题。
    你说的对象xiong没用,是你的数据库中没有那张表。慢慢来,不用性急。
      

  4.   

    sql="insert into xiong values"+     /////////  Database operator start
    "("+Integer.parseInt(t.getText())+
    Integer.parseInt(t1.getText())+")";
    两个字段中间加一个“,”隔开,即:
    sql="insert into xiong values"+     /////////  Database operator start
    "("+Integer.parseInt(t.getText())+
                       +","+
    Integer.parseInt(t1.getText())+")";