2010-11-02 75 views
0

我在想什么。可以说我有这段代码:声明MySql命令

if (cbBackup.Checked) 
{ 
    log("Making backup, this might take a while.."); 

    SqlCommand comm = new SqlCommand(GetFromResources("databaseInstaller.qry.backup.sql"), conn); 
} 

SqlCommand comm = new SqlCommand(GetFromResources("databaseInstaller.qry.anotherfile.sql"), conn); 

这个问题是,我不能再次通信,因为它已经被制成。但是,如果未检查cbBackup,代码可能无法到达该部分。

即使程序没有超过IF函数,我是否可以重新声明comm的值? - 或者我应该只做另一个SqlCommand?

任何其他建议是值得欢迎的,当然。

编辑:这不是一个if-else的问题。其中一个总是执行,另一个只在检查cbBackup时执行。

回答

1
SqlCommand comm; 
if (cbBackup.Checked) 
{ 
    log("Making backup, this might take a while.."); 

    comm = new SqlCommand(GetFromResources("databaseInstaller.qry.osrose_backup.sql"), conn); 
} 

comm = new SqlCommand(GetFromResources("databaseInstaller.qry.anotherfile.sql"), conn); 
+0

谢谢你,但它不是的if-else的问题。其中一个总是执行,另一个只在检查cbBackup时执行。编辑:谢谢,那就是我一直在寻找的。 – Nick 2010-11-02 13:12:51

+0

@Nick - 删除了其他。 – 2010-11-02 13:14:52

+0

好的,谢谢,这个作品。 – Nick 2010-11-02 13:15:56

0
SqlCommand comm; 
if (cbBackup.Checked) 
{ 
    log("Making backup, this might take a while.."); 

    comm = new SqlCommand(GetFromResources("databaseInstaller.qry.osrose_backup.sql"), conn); 
} 
else 
{ 
    comm = new SqlCommand(GetFromResources("databaseInstaller.qry.anotherfile.sql"), conn); 
}