C# INSERT INTO语句中的语法错误

C# INSERT INTO语句中的语法错误,c#,oledbcommand,C#,Oledbcommand,我已经写了这个连接,但在INSERT INTO语句中有一个语法错误 请有人帮帮我 OleDbCommand(@)插入到组中( 您有一些拼写错误: 表名和打开的参数之间应该有一个空格,如下所示:group(groupid OleDbCommand(@)插入到组中( 您有一些拼写错误: 表名和打开的参数之间应该有一个空格,如下所示:group(groupid 随意猜测,但尝试键入[group]而不是仅键入group。我假定由于“group BY”子句,保留了组字。随意猜测,但尝试键入[gr

我已经写了这个连接,但在INSERT INTO语句中有一个语法错误 请有人帮帮我

OleDbCommand(@)插入到组中(

您有一些拼写错误:

  • 表名和打开的参数之间应该有一个空格,如下所示:
    group(groupid
OleDbCommand(@)插入到组中(

您有一些拼写错误:

  • 表名和打开的参数之间应该有一个空格,如下所示:
    group(groupid

随意猜测,但尝试键入[group]而不是仅键入group。我假定由于“group BY”子句,保留了组字。

随意猜测,但尝试键入[group]而不是仅键入group。我假定保留组字是因为“group BY”子句。

Ahhh MS Access和您极其愚蠢的命名许可,从允许在表名中使用空格到允许在字段名中使用SQL关键字


组是一个。如果你有机会,我强烈建议你重命名它。也就是说,如果你不能重命名它,请在查询[组]中用方括号括起来。

Ahhh MS Access和你极其愚蠢的命名允许,从允许表名中使用空格到允许字段名使用SQL关键字


组是一个。如果你有机会,我强烈建议你重命名它。也就是说,如果你不能重命名它,请在查询[GROUP]中用方括号括起来.

@Kevin Thank you!!!!@Kevin Thank you!!!!字符串之前的@是可以使用的。它允许使用C#中的多行字符串,并且您不需要转义空间字符。对于正则表达式和sql查询非常方便。例如:字符串模式=@“\d+”,而不是字符串模式=“\\d+”;@”在其所在位置实际有效;它指示字符串忽略转义码。例如,它允许您将“\”放入字符串中,而不是强制您使用转义码“\”。字符串前的@是可以的。它允许C#中的多行字符串,并且您不需要转义空间字符。对于正则表达式和sql查询非常方便。例如:字符串模式=@“\d+”,而不是字符串模式=“\\d+”;“@”在其所在位置实际上是有效的;它指示字符串忽略转义码。例如,它允许您放置“\”而不是强制使用转义码“\\”。
conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\database.mdb");
conn.Open();

com = new OleDbCommand(@"insert into group
                          (groupid,groupname,nature,effect) 
                         values 
                          (@groupid,@groupname,@nature,@effect)", conn);
com.Parameters.AddWithValue("@groupid", intialtxt);
com.Parameters.AddWithValue("@groupname", groupnametxt);
com.Parameters.AddWithValue("@nature", groupnaturecombo);
com.Parameters.AddWithValue("@effect", efectivegroupcombo);
com.ExecuteNonQuery();

conn.Close()