Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中查询值和目标字段的数量不同_Java_Ms Access_Ms Access 2007 - Fatal编程技术网

Java中查询值和目标字段的数量不同

Java中查询值和目标字段的数量不同,java,ms-access,ms-access-2007,Java,Ms Access,Ms Access 2007,我有一个prepardStatement,它应该执行MS Access的插入 下面是SQL语句 INSERT INTO DonorDetails (Title,FirstName,LastName,[IC NUMBER],[OLD IC NUMBER],Gender,DOB,COUNTRY,Race,[Address 1],[Address 2],[Address 3],[Address 4],City,State,Postcode,[TEL HSE],[TEL HP],[TEL OFF],[F

我有一个prepardStatement,它应该执行MS Access的插入

下面是SQL语句

INSERT INTO DonorDetails (Title,FirstName,LastName,[IC NUMBER],[OLD IC NUMBER],Gender,DOB,COUNTRY,Race,[Address 1],[Address 2],[Address 3],[Address 4],City,State,Postcode,[TEL HSE],[TEL HP],[TEL OFF],[Fax Number],Email,Language,[Donation Amount],Frequency,Bank,MODE,[CHQ/MO/PO],[CREDIT CARD],[NAME OF CARD HOLDER],Expiry,[ISSUING BANK],[ACCOUNT NUMBER],CAMPAIGN,[SERIAL NO],[EVENT CODE],[AGENT ID],Channel,[SOURCE CODE],[SIGNUP DATE],Remarks, [Date Processed])values (?,?,?.?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
在插入过程中,我得到以下错误

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Number of query values and destination fields are not the same.
这就是我执行代码的方式,我相信字段/列的数量是41

            Connection conn = Connect.ConnectDB();
            System.out.println(sql);
            PreparedStatement pst = conn.prepareStatement(sql);
            pst.setString(1, salutation);
            pst.setString(2, txtFirstName.getText());
            pst.setString(3, txtLastName.getText());
            pst.setString(4, newID);
            pst.setString(5, oldID);
            pst.setString(6, String.valueOf(cbGender.getSelectedItem()));
            pst.setString(7, dobDate);
            pst.setString(8, String.valueOf(cbNationality.getSelectedItem()));
            pst.setString(9, race);
            pst.setString(10, txtAddress.getText());
            pst.setString(11, txtAddress2.getText());
            pst.setString(12, txtAddress3.getText());
            pst.setString(13, txtAddress4.getText());
            pst.setString(14, txtCity.getText());
            pst.setString(15, String.valueOf(cbState.getSelectedItem()));
            pst.setString(16, txtPostCode.getText());
            pst.setString(17, txtHomePhone.getText());
            pst.setString(18, txtMobilePhone.getText());
            pst.setString(19, txtOfficePhone.getText());
            pst.setString(20, txtFax.getText());
            pst.setString(21, txtEmail.getText());
            pst.setString(22, txtLanguage.getText());
            pst.setInt(23, amount);
            pst.setString(24, frequency);
            pst.setString(25, bankName);
            pst.setString(26, mode);
            pst.setString(27, prependNo + txtRefNo.getText());
            pst.setString(28, cardNumber);
            pst.setString(29, cardName);
            pst.setString(30, cardExpiry);
            pst.setString(31, issuingBank);
            pst.setString(32, accountNumber);
            pst.setString(33, String.valueOf(cbCampaign.getSelectedItem()));
            pst.setString(34, lblSerialCode.getText()
                    + txtSerialNumber.getText());
            pst.setString(35, txtTeritoryCode.getText());
            pst.setString(36, txtAgentID.getText());
            pst.setString(37, String.valueOf(cbChannel.getSelectedItem()));
            pst.setString(38, "OPTIMO");
            pst.setString(39, df.format(signUpDate.getDate()));
            pst.setString(40, textField.getText());
            pst.setString(41, processedDate);
            pst.execute();

我找不到上面的代码有什么问题。

您在命令文本中的第三个和第四个问号占位符(
)之间有一个句点(
)而不是逗号(
)。亲爱的上帝,您救了我,我们可以将它标记为关闭吗?