解析查询时出错。
我正在使用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
攻击。