错误是因为 标识符 名称太长;这与未关闭的引号引起的错误相结合,意味着您可能错过了开头的引号。也就是说,您有以下内容:
INSERT INTO Foo ( A ) VALUES ( AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')
代替
INSERT INTO Foo ( A ) VALUES ( 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')
您不应该通过字符串连接来构建查询。这是原因之一。参数化查询将为您提供正确的报价。(注意:您无需使用存储的proc即可使用参数化查询。)
var sql = "INSERT INTO My_RSS ( Title, Description, Date, link, Rate, Name )VALUES ( @Title, @Desc, @PostDate, @link, @Rate, @Name )";SqlCommand cmd = new SqlCommand(sql, Connect());cmd.Parameters.Add("@Title", SqlDbType.VarChar, 100).Value = RSS_title;cmd.Parameters.Add("@Desc", SqlDbType.VarChar, 8192).Value = RSS_description;cmd.Parameters.Add("@PostDate", SqlDbType.SmallDateTime).Value = DateTime.Now;cmd.Parameters.Add("@Rate", SqlDbType.Int).Value = rate;等等。



