永发信息网

c# 提示并非所有的代码路径都返回值,这段代码哪不对

答案:2  悬赏:60  手机版
解决时间 2021-02-15 13:26
static public SqlConnection GetConn()
{
try
{
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";
SqlConnection conn = new SqlConnection(sql);
return conn;
}
if (form.radioButtonWin.Checked == true && SqlConnForm.dbname != "")
{
sql = @"Data Source=" + SqlConnForm.sername + ";Initial Catalog=" + form.comboBoxDbName.Text + ";Integrated Security=True";
SqlConnection conn = new SqlConnection(sql);
return conn;
}
if (form.radioButtonSQL.Checked == true && SqlConnForm.dbname == "")
{
sql = @"Data Source=" + SqlConnForm.sername + ";Initial Catalog=master;User ID=" + SqlConnForm.username + "Pwd=" + SqlConnForm.password + ";";
SqlConnection conn = new SqlConnection(sql);
return conn;
}
if (form.radioButtonSQL.Checked == true && SqlConnForm.dbname != "")
{
sql = @"Data Source=" + SqlConnForm.sername + ";Initial Catalog=" + SqlConnForm.dbname + ";User ID=" + SqlConnForm.username + "Pwd=" + SqlConnForm.password + ";";
SqlConnection conn = new SqlConnection(sql);
return conn;
}
}
catch (Exception e)
{
throw e;
}
最佳答案
你把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;
全部回答
这么和你说吧,你定义 了一个有返回值的函数,那么就一定要有返回值,现在是你只在try里返回了,如果当然try不成功(就是有错,有异常),那么就要中间断开,goto到catch,这样try里就没有返回,现在你catch里又没有返回,到函数最后也没有,那么这个函数到最后都没有返回值,如果编译器认你通过的话,如果try 出现异常,那么这个函数就不会有返值,那就是说函数没有停止,也就是说,如何在这一线程下的就这样停止,如果是主线程的话那就是程序卡在这里了,没反响, 以上都是一些啰嗦话,明白就好,像try catch 和if else 等一些判断语句,多个的还是一个的,只要函数返回值不是void 那么 每个判断都要有return .当然了如果在函数最后return 以上的都是废话
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
岩屋村怎么去啊,有知道地址的么
不满18周岁银行不给开通银行卡短信业务怎么办
岳阳县人民医院-内三科这个地址怎么能查询到
家用电器开关作用是
汽车水温高热车难启动是咋回事
大成书院地址在什么地方,想过去办事
这个问题,你是怎么解决的。怎么涉及到了权限
一个女下属工作上常常出错,男上司却不希望她
回忆连根拔起. 什么意思
鼎城区常德中国邮政(鼎城区邮政局)怎么去啊,
火车跟单员这工作靠谱吗
水岸人家在哪里啊,我有事要去这个地方
谁能现拍玉足脚底啊
游泳耳朵嗡嗡响怎么办
投影仪是不是要同屏器
推荐资讯
下列交通安全设施中不属于交通标志的是()。
2的(2x+2)方减2的x方等于1,求x等于多少
凭护照能查到我的机票吗
沙市区荆州沙市区袁医生诊所在哪里啊,我有事
一个德国原装奔驰s600在中国可卖多少钱(+过户
1:0.3:2.5混合砂浆抹面是体积比还是质量比
戴隐形眼镜晕是怎么回事啊
下列物质中,不能在核糖体上合成的是A. 麦芽
为什么我快30岁了还长黑痣
为什麽释迦牟尼佛十方一切诸佛都劝人们念“阿
如果我早点遇到你,也许你就是我的唯一!
田阳县公安局交警大队玉凤中队地址有知道的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?