解析查询时出错。

我正在使用sql做Csharp。 但我得到的错误是

解析查询时出错。 [令牌行号= 1,令牌行偏移= 40,令牌错误=第一]

private void CustomerAdded(Customer c) { string query = string.Empty; int rowsAffected = 0; try { if (connection.State != ConnectionState.Open) { connection.Open(); } query = string.Format("INSERT INTO CustomerRecord(CustomerId, First Name, Surname, PhoneNumber, City,Country, Account Manager) VALUES ({0},'{1}','{2}','{3}','{4}','{5}','{6}')",c.CustomerId,c.FirstName,c.Surname,c.PhoneNumber,c.City,c.Country,c.AccountManager); SqlCeCommand command = new SqlCeCommand(query, connection); rowsAffected = command.ExecuteNonQuery();(this is were the error say line 162) } catch (Exception ex) { MessageBox.Show("Error " + ex.ToString()); } finally { connection.Close(); } GetCustomers(); bs.ResetBindings(false); 

如果您的列名称中有空格 ,则需要使用方括号。使用[First Name]而不是First Name[Account Manager]而不是Account Manager 。如果您要为所有人插入一个值列然后您不需要指定列名称。

您还应该考虑使用参数化查询来防止SQL Injection攻击。