关于方法返回值问题的请教!急! 因为如果出现异常的话那么你的这个函数就没有任何返回值了。所以你最好将return 语句写在finally语句里 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 catch和finally都没有设置返回值所以出现的问题! 如果try里面出现异常你的函数就没有返回值了在finally里机上 return ""或别的什么你要的返回值。 private string getCodeName(string strCn) { string ccc; string strConn = "Server = kfsh-1;user id = sa; password = mix; initial catalog = hx;Connection Timeout = 5"; SqlConnection conn = new SqlConnection(strConn); conn.Open(); string select = "SELECT c_code FROM citycode WHERE c_name like '%" + strCn + "'"; try { SqlCommand cmd = new SqlCommand(select, conn); // Object cc; ccc = cmd.ExecuteScalar().ToString(); return ccc; } catch(SqlException sex1) { MessageBox.Show(sex1.Message,"error1",MessageBoxButtons.OK); } finally { conn.Close(); //增加的行 return ""; } }在conn.Close()前检查下conn是否为null 是个好习惯 出现问题的原因是当扑捉到异常后,没有再次抛出异常,加个 throw 就行了,建议楼主这样写,private void button1_Click(object sender, System.EventArgs e){string cName = textBox1.Text;string cc = getCodeName(cName);label1.Text = cc;}private string getCodeName(string strCn){string ccc;string strConn = "Server = kfsh-1;user id = sa; password = mix; initial catalog = hx;Connection Timeout = 5";SqlConnection conn = new SqlConnection(strConn);conn.Open();string select = "SELECT c_code FROM citycode WHERE c_name like '%" + strCn + "'";try{SqlCommand cmd = new SqlCommand(select, conn);// Object cc;ccc = cmd.ExecuteScalar().ToString();return ccc;}catch(SqlException sex1){ throw new Exception("执行Sql语句错误",sex1);}finally{conn.Close();}}如果想不再次抛出异常,那把return放到最后,建议楼主抛出异常,这样符合设计模式,并且处理更好。 private string getCodeName(string strCn)方法根本就没有返回值,当然绘出错了. toolStrip1的问题 求帮忙,分不多 repeater根据数据不同每行的样式不同.net winform如何删除指定目录的指定文件和有关窗体选中的问题 有什么WINFORM之间传递和返回数据好的方法 程序找错.{从文字到语音} C#中,如何让一个窗体始终在最上面?(我快没分了) DataGrid中一条记录如何与另一个form中控件绑定? 怎样在C#工程中调用VC.net DLL 两个问题 关于数组传递参数! 在winform中,做水晶报表时怎么设置纸张的横向,怎么设置纸张为a3纸?各位高手帮帮忙呀!在线等!
在finally里机上 return ""或别的什么你要的返回值。
{
string ccc;
string strConn = "Server = kfsh-1;user id = sa; password = mix; initial catalog = hx;Connection Timeout = 5";
SqlConnection conn = new SqlConnection(strConn);
conn.Open(); string select = "SELECT c_code FROM citycode WHERE c_name like '%" + strCn + "'";
try
{
SqlCommand cmd = new SqlCommand(select, conn);
// Object cc;
ccc = cmd.ExecuteScalar().ToString();
return ccc; }
catch(SqlException sex1)
{
MessageBox.Show(sex1.Message,"error1",MessageBoxButtons.OK);
}
finally
{
conn.Close();
//增加的行
return ""; }
}
在conn.Close()前检查下conn是否为null 是个好习惯
建议楼主这样写,private void button1_Click(object sender, System.EventArgs e)
{
string cName = textBox1.Text;string cc = getCodeName(cName);
label1.Text = cc;}
private string getCodeName(string strCn)
{
string ccc;
string strConn = "Server = kfsh-1;user id = sa; password = mix; initial catalog = hx;Connection Timeout = 5";
SqlConnection conn = new SqlConnection(strConn);
conn.Open();string select = "SELECT c_code FROM citycode WHERE c_name like '%" + strCn + "'";
try
{
SqlCommand cmd = new SqlCommand(select, conn);
// Object cc;
ccc = cmd.ExecuteScalar().ToString();
return ccc;}
catch(SqlException sex1)
{
throw new Exception("执行Sql语句错误",sex1);
}
finally
{
conn.Close();
}
}
如果想不再次抛出异常,那把return放到最后,建议楼主抛出异常,这样符合设计模式,并且处理更好。
方法根本就没有返回值,当然绘出错了.