Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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
C#试图插入Access,代码可以工作,但如果我添加两个新参数,它就不能工作';T_C#_Sql_Ms Access_Insert_Oledb - Fatal编程技术网

C#试图插入Access,代码可以工作,但如果我添加两个新参数,它就不能工作';T

C#试图插入Access,代码可以工作,但如果我添加两个新参数,它就不能工作';T,c#,sql,ms-access,insert,oledb,C#,Sql,Ms Access,Insert,Oledb,我有一个工作问题: "Insert INTO ACTB (ID, FirstName, LastName, GrossIncome, LessTNT, TaxableIncomeCE, TaxableIncomePE, GrossTaxableIncome, LessTE, LessPPH, NetTax, TaxDue, HeldTaxCE, HeldTaxPE, TotalTax, TIN) " + "VALUES(@ID, @First, @Last, @Gross, @LessTNT,

我有一个工作问题:

"Insert INTO ACTB (ID, FirstName, LastName, GrossIncome, LessTNT, TaxableIncomeCE, TaxableIncomePE, GrossTaxableIncome, LessTE, LessPPH, NetTax, TaxDue, HeldTaxCE, HeldTaxPE, TotalTax, TIN) " +
"VALUES(@ID, @First, @Last, @Gross, @LessTNT, @TCI, @ADDTI, @GTI, @LessTE, @LessPPH, @LessNTI, @TD, @TWCE, @TWPE, @TATW, @TIN)";
不知道如何更好地格式化。无论如何,这与整个命令执行过程一起工作。现在我已经更新了程序的要求,并添加了两个额外的字段,比如From和To

"Insert INTO ACTB (ID, FirstName, LastName, GrossIncome, LessTNT, TaxableIncomeCE, TaxableIncomePE, GrossTaxableIncome, LessTE, LessPPH, NetTax, TaxDue, HeldTaxCE, HeldTaxPE, TotalTax, TIN, From, To) " +
"VALUES(@ID, @First, @Last, @Gross, @LessTNT, @TCI, @ADDTI, @GTI, @LessTE, @LessPPH, @LessNTI, @TD, @TWCE, @TWPE, @TATW, @TIN, @From, @To)";
现在它返回了一个非常无用的错误:INSERT-INTO中的语法错误。它只说了这么多

下面是供您分析的其余代码。如果我删除from和to,它将完美工作

OleDbConnection Dbcon = new OleDbConnection(Con);
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "Insert INTO ACTB (ID, FirstName, LastName, GrossIncome, LessTNT, TaxableIncomeCE, TaxableIncomePE, GrossTaxableIncome, LessTE, LessPPH, NetTax, TaxDue, HeldTaxCE, HeldTaxPE, TotalTax, TIN, From, To) " +
                    "VALUES(@ID, @First, @Last, @Gross, @LessTNT, @TCI, @ADDTI, @GTI, @LessTE, @LessPPH, @LessNTI, @TD, @TWCE, @TWPE, @TATW, @TIN, @From, @To)";
cmd.Parameters.AddWithValue("@ID", txtID.Text);
cmd.Parameters.AddWithValue("@First", txtFirst.Text);
cmd.Parameters.AddWithValue("@Last", txtLast.Text);
cmd.Parameters.AddWithValue("@Gross", Convert.ToDouble(txtGross.Text));
cmd.Parameters.AddWithValue("@LessTNT", Convert.ToDouble(txtLessTNT.Text));
cmd.Parameters.AddWithValue("@TCI", Convert.ToDouble(txtTCI.Text));
cmd.Parameters.AddWithValue("@ADDTI", Convert.ToDouble(txtADDTI.Text));
cmd.Parameters.AddWithValue("@GTI", Convert.ToDouble(txtGTI.Text));
cmd.Parameters.AddWithValue("@LessTE", Convert.ToDouble(txtLessTE.Text));
cmd.Parameters.AddWithValue("@LessPPH", Convert.ToDouble(txtLessPPH.Text));
cmd.Parameters.AddWithValue("@LessNTI", Convert.ToDouble(txtLessNTI.Text));
cmd.Parameters.AddWithValue("@TD", Convert.ToDouble(txtTD.Text));
cmd.Parameters.AddWithValue("@TWCE", Convert.ToDouble(txtTWCE.Text));
cmd.Parameters.AddWithValue("@TWPE", Convert.ToDouble(txtTWPE.Text));
cmd.Parameters.AddWithValue("@TATW", Convert.ToDouble(txtTATW.Text));
cmd.Parameters.AddWithValue("@TIN", txtTIN.Text);
cmd.Parameters.AddWithValue("@From", txtFrom.Text);
cmd.Parameters.AddWithValue("@To", txtTo.Text);
Dbcon.Open();
cmd.Connection = Dbcon;

try
{
    cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
我已经仔细检查了数据源视图,我的Access数据库确实是更新的,所以字段应该存在

我认为“From”和“To”是保留字,所以不能用它们来命名字段

请尝试使用FromField和ToField名称,以使其有效。

我认为“From”和“to”是保留字,因此您不能使用它们来命名字段


请尝试使用FromField和ToField名称,以使其生效。

这很有效,谢谢!我总是忘记保留字,SQL和C#!这成功了,谢谢!我总是忘记保留字,SQL和C#!