当你尝试一下DB操作,会可能遇到一些exception:
分别用两个SqlCommand对象来执行两条cmd,但是这两个cmd有相同的Parameters,因此你会对两个cmd都执行cmd.Parameters.Add()。此时,会可能出现
System.ArgumentException: The SqlParameter is already contained by another SqlParameterCollection
需要insert多个记录,而你想用一个loop来执行cmd.Parameters.Add(); cmd.ExecuteNonQuery(); 其实问题和上一个很相似,而此时可能会出现
System.Data.SqlClient.SqlException: The variable name `@MyParam` has already been declared. Variable names must be unique within a query batch or stored procedure.
这类问题都一个共同特征是,对多个cmd添加相同的参数。解决办法是,当每次执行完cmd的时候,或者要执行cmd之前,都调用一下