连接access数据库报错说insert的语句有错,请帮忙看一下

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:37:06
我的是java语句连接access数据库,我的数据都是文本型我是初学 ,对着书查了好几天也看不出来
public void jButton2_actionPerformed(ActionEvent e) throws SQLException {
String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String connectionStr="jdbc:odbc:db1";
Connection con = null;
Statement stmt = null;
String i=null;
try {Class.forName(DBDriver);
con = DriverManager.getConnection(connectionStr, "", "");
stmt = con.createStatement();
String n = jTextField2.getText();
// String sex = (String) jComboBox1.getSelectedItem();
String id= jTextField3.getText();
String d = jTe

你的SQL语句拼接没有问题。应该是出在数据库设计上:
1.看主键是否重复
2.数据类型是否正确,你插入的3个值都是字符串型
3.数据长度是否超出
最好把错误代码发一下。

看看你values('" + n + "','" + id + "','" + d + "')"; 这个三个地方的数据类型传进去的可对!

主键是否重复,插入的列是否允许为空之类的好好看看

i="insert into inf(name,id,date)valuse('"+n+"','"+id+"','"+d+"')";

日期类型 要注意格式问题

sql语句没问题 应该看看数据库 id是否是自增长的 如果是则改为非自增长 想要保留id的自增长 sql语句就写成i="insert into inf(name,date)valuse('"+n+"','"+d+"')"; 最后一点就是数据库里的字段要用文本类型

把放access 数据库文件的文件夹设置为 everyone 可写