需要先定义,再使用:
string testCase = rdr[0].ToString().Replace(prefix1, "").Replace(prefix2, "").Trim();
string target = rdr[1].ToString().Trim();
string device = rdr[3].ToString().Trim();
string id = rdr[2].ToString().Trim();
SqlParameter sqlp_Testcase = new SqlParameter("@testcase", testCase);
SqlParameter sqlp_Device = new SqlParameter("@device", device.ToUpper());
SqlParameter sqlp_Target = new SqlParameter("@target", target);
SqlParameter sqlp_Id = new SqlParameter("@id", id);
if (!string.IsNullOrEmpty(testCase))
{
string SQL_DelExistResults = "delete from [NTC].[dbo].[PMTestCase] where [Device] = @Device and [Name] = @testcase ";
SqlHelper.ExecuteNonQuery(constr, CommandType.Text, SQL_DelExistResults, sqlp_Device, sqlp_Testcase);
//Console.WriteLine("delete the same records from DB!");
//string SQL_InsertPMTestcases = "insert into [NTC].[dbo].[PMTestCase] ([Name],[ID],[Target], [Device]) values ('" + testCase + "','" + id + "','" + target + "','" + device + "')";
string SQL_InsertPMTestcases = "INSERT INTO [NTC].[dbo].[PMTestCase]([TestCaseID],[Name],[ID],[Target], [Device]) values"
+ "(newid(), @testcase, @id, @target, @device)";
SqlHelper.ExecuteNonQuery(constr, CommandType.Text, SQL_InsertPMTestcases,
sqlp_Testcase, sqlp_Id, sqlp_Target, sqlp_Device);
Console.WriteLine(testCase + " : " + target);
}
见
http://stackoverflow.com/questions/20330255/must-declare-the-scalar-variable-id-for-insert-parameter