C# 插入OLEDB C时出现语法错误#

C# 插入OLEDB C时出现语法错误#,c#,oledb,oledbconnection,C#,Oledb,Oledbconnection,INSERT INTO语句出现语法错误,请提供帮助。im从dataGridview导出数据。im在每行中循环 for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++) { command.CommandText = "INSERT INTO RP_CMG01 (ACCT_NO,LAST_NAME,FIRST_NAME,MID_NAME,NICK_NAME,AGE,SEX,CIVIL

INSERT INTO语句出现语法错误,请提供帮助。im从dataGridview导出数据。im在每行中循环

for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
            {
                command.CommandText = "INSERT INTO RP_CMG01 (ACCT_NO,LAST_NAME,FIRST_NAME,MID_NAME,NICK_NAME,AGE,SEX,CIVIL_STAT,SALUTATION,EDUC,EMPLOYMENT,REG_DATE,REC_STATUS,LOG)VALUES" +
                    "(" + dataGridView1.Rows[i].Cells["ACCT_NO"].Value + "," +
                    "'" + dataGridView1.Rows[i].Cells["LAST_NAME"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["FIRST_NAME"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["MID_NAME"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["NICK_NAME"].Value + "'," +
                    "" + dataGridView1.Rows[i].Cells["AGE"].Value + "," +
                    "'" + dataGridView1.Rows[i].Cells["SEX"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["CIVIL_STAT"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["SALUTATION"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["EDUC"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["EMPLOYMENT"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["REG_DATE"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["REC_STATUS"].Value + "'," +
                    "'" + dataGridView1.Rows[i].Cells["LOG"].Value + "');";
                command.ExecuteNonQuery();
            }
            MessageBox.Show("Members data record inserted successfully");

用于(int i=0;i您应该使用参数,而不是串联dataGrid。行单元格值。1.它可以保护您免受SQL注入。2.不会引发异常。在值之前和之后都需要一个空格。我认为异常的原因是行单元格值之一中的“符号”。每列的数据类型是什么?@Alexander晚上好,先生。您能我举一个使用参数的例子?到目前为止,我只知道这种方法。谢谢