【发布时间】:2013-08-31 13:30:55
【问题描述】:
我是编程新手,我正在尝试使用 netbeans IDE 制作一个小型 Java swing 应用程序,我已经设计了表单并创建了一个表,我使用以下代码将数据从表单插入到数据库中,但我得到了许多错误请帮助我更正此代码:
import java.sql.*;
public class db
{
static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/userdb";
static final String USER="root";
static final String PASS="toor";
Connection conn = null;
Statement stmt = null;
static final String d_unit=jTextField2.getText();
static final String d_name=jTextField3.getText();
static final String d_dob=jDateChooser2.getText();
//static final String d_gender="gender";
static final String d_age=jTextField4.getText();
static final String d_doorno=jTextField5.getText();
static final String d_street=jTextField6.getText();
static final String d_vc=jTextField7.getText();
static final String d_district=jTextField8.getText();
static final String d_pin=jTextField9.getText();
static final String d_phone=jTextField10.getText();
static final String d_mail=jTextField11.getText();
static final String d_occupations=jTextField12.getText();
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(DB_URL,USER,PASS);
stmt = conn.createStatement();
stmt.executeUpdate("insert into donors (unit,name,dob,age,doorno,street,vc,district,pin,phone,mail,occupation) values('"+d_unit+"','"+d_name+"','"+d_dob+"','"+d_age+"','"+d_doorno+"','"+d_street+"','"+d_vc+"','"+d_district+"','"+d_pin+"','"+d_phone+"','"+d_mail+"','"+d_occupations+"')");
JOptionPane.showMessageDialog(null,"Inserted Successfully!");
}
catch(Exception e)
{ }
}
【问题讨论】:
-
@Gerret 我认为这里的问题是编译时错误。
-
您将所有值插入为
VARCHAR。这些实际上是否定义为数据库中的 varchars?例如doorno或age看起来像整数。我也强烈建议使用PreparedStatement而不是Statement。见Using PreparedStatement -
@Axel 很好,问题解释得不是很好!标题实际上不是主题......但是好的^^
-
什么是堆栈跟踪?? @杰瑞特