你把return conn放到外面不就行了,还有你最好把sqlconnection弄成全局的
尝试修改成下面的代码,试一下
static public SqlConnection GetConn()
{
try
{
SqlConnection conn=null;
string sql = null;
SqlConnForm form = new SqlConnForm();
if (form.radioButtonWin.Checked == true && SqlConnForm.dbname == "")
{
sql = @"Data Source=" + SqlConnForm.sername + ";Initial Catalog=master;Integrated Security=True";
conn = new SqlConnection(sql);
}
if (form.radioButtonWin.Checked == true && SqlConnForm.dbname != "")
{
sql = @"Data Source=" + SqlConnForm.sername + ";Initial Catalog=" + form.comboBoxDbName.Text + ";Integrated Security=True";
conn = new SqlConnection(sql);
}
if (form.radioButtonSQL.Checked == true && SqlConnForm.dbname == "")
{
sql = @"Data Source=" + SqlConnForm.sername + ";Initial Catalog=master;User ID=" + SqlConnForm.username + "Pwd=" + SqlConnForm.password + ";";
conn = new SqlConnection(sql);
}
if (form.radioButtonSQL.Checked == true && SqlConnForm.dbname != "")
{
sql = @"Data Source=" + SqlConnForm.sername + ";Initial Catalog=" + SqlConnForm.dbname + ";User ID=" + SqlConnForm.username + "Pwd=" + SqlConnForm.password + ";";
conn = new SqlConnection(sql);
}
}
catch (Exception e)
{
throw e;
}
return conn;
catch (Exception e)
{
throw e;
}
这个分支是没有return的,如果try里面有异常,你这个函数就没有返回值了,编译当然不能通过