Java 向表中插入数据

Java 向表中插入数据,java,jdbc,Java,Jdbc,晚上好 我正在做一个将数据插入Access数据库表的基本练习,代码中存在一个语法错误,我正在努力找出它 他希望能在这方面得到一些帮助,看看语法问题在哪里 错误如下所示 java.sql.SQLException:[Microsoft][ODBC Microsoft Access驱动程序]查询值和目标字段的数目不相同 public void addData(String ID, String name, String address, String type) throws SQLExceptio

晚上好

我正在做一个将数据插入Access数据库表的基本练习,代码中存在一个语法错误,我正在努力找出它

他希望能在这方面得到一些帮助,看看语法问题在哪里

错误如下所示 java.sql.SQLException:[Microsoft][ODBC Microsoft Access驱动程序]查询值和目标字段的数目不相同

public void addData(String ID, String name, String address, String type) throws SQLException
{
    int rowsadded;
    Statement statement = conn.createStatement();
    String queryString = "INSERT INTO Artists(ID, Name, Address, Type) VALUES (" + ID + ", '" + name + "', '" + address + ", " + type + "')";

    System.out.println(queryString);
    System.out.println(ID + "(ID) added to the database");
    rowsadded = statement.executeUpdate(queryString);
    System.out.println("Rows updated = " + rowsadded);
}
方法调用如下所示

Insertingdata example;
    try
    {
        example = new Insertingdata();

        example.addData("15", "Bob Dylan", "Los Angeles", "Folk");

    }
    catch(SQLException se)
    {
        se.printStackTrace();
    }
    catch(ClassNotFoundException ce)
    {
        ce.printStackTrace();
    }

您在查询中遗漏了几个单引号,因此地址和类型被读取为单个值。将查询字符串行替换为:

String queryString = "INSERT INTO Artists(ID, Name, Address, Type) VALUES (" + ID + ", '" + name + "', '" + address + "', '" + type + "')";

这应该可以解决问题。

您在查询中遗漏了几个单引号,因此地址和类型被读取为单个值。将查询字符串行替换为:

String queryString = "INSERT INTO Artists(ID, Name, Address, Type) VALUES (" + ID + ", '" + name + "', '" + address + "', '" + type + "')";
这应该可以解决问题。

(+1)为了避免此类错误,请使用预先准备好的语句!(+1)为避免此类错误,请使用准备好的语句!