为什么我不能这样做?该方法被调用了两次,第二次通过 if 语句为 false 但是分配给 CommandText 的原始字符串保持不变,即使在我重新分配它之后也是如此。
void someMethod(bool yes){
SqlCeCommand foo = new SqlCeCommand();
SqlCeCommand boo = new SqlCeCommand();
if(yes)
{
foo.CommandText = "SELECT * FROM @where";
boo.CommandText = "SELECT * FROM @where2";
foo.Parameters.AddWithValue("@where", Earth);
boo.Parameters.AddWithValue("@where2", Mars);
addToDataBase(foo);
addToDataBase(boo);
}
else{
foo.CommandText = "DELETE * FROM @where";
boo.CommandText = "DELETE * FROM @where2";
foo.Parameters.AddWithValue("@where", Earth);
boo.Parameters.AddWithValue("@where2", Mars);
deleteFromDataBase(foo);
deleteFromDataBase(boo);
}
在 else 语句之后不会重新分配命令文本
我可以简单地重组并制作另一个 sqlCeCommand,我只想知道为什么这不起作用。
谢谢。