问题描述
这个是我的代码,我想传递两个参数,实在不知道要return回去一个什么值,求大家帮我publicstaticstringopensql1(stringname,stringpassword){//Form1fm=newForm1();SqlConnectionsqlconn=getconnection();sqlconn.Open();SqlCommandcmd=newSqlCommand("select*fromuserinfowhereusername="+name+"andpwd="+password,sqlconn);SqlDataReadersdr=cmd.ExecuteReader();try{while(sdr.Read()){MessageBox.Show("登录成功");}}catch{MessageBox.Show("登录失败");}sdr.Close();sqlconn.Close();returnsdr.Read().ToString();}
解决方案
解决方案二:
publicboolopensql1(stringname,stringpassword)//这里改为bool就行了{//Form1fm=newForm1();boolbo_login=false;SqlConnectionsqlconn=getconnection();sqlconn.Open();SqlCommandcmd=newSqlCommand("select*fromuserinfowhereusername="+name+"andpwd="+password,sqlconn);SqlDataReadersdr=cmd.ExecuteReader();try{while(sdr.Read()){bo_login=true;MessageBox.Show("登录成功");}}catch{MessageBox.Show("登录失败");}sdr.Close();sqlconn.Close();returnbo_login;}
解决方案三:
return是用于表示函数执行的结果的,你想要得到什么就返回什么咯。如楼上的兄弟写的,比较直观的可以返回你的输入参数:用户名和密码登录的结果。当然,也可以是其它,比如如果登录成功返回相应的用户名,否则返回null或者返回空串[我给的代码是返回null]。这样就不用修改函数返回类型。publicstaticstringopensql1(stringname,stringpassword){//Form1fm=newForm1();SqlConnectionsqlconn=getconnection();sqlconn.Open();SqlCommandcmd=newSqlCommand("select*fromuserinfowhereusername="+name+"andpwd="+password,sqlconn);SqlDataReadersdr=cmd.ExecuteReader();stringret=null;try{while(sdr.Read()){//MessageBox.Show("登录成功");ret=name;}}catch{MessageBox.Show("登录失败");}sdr.Close();sqlconn.Close();//returnsdr.Read().ToString();returnret;}
解决方案四:
既然是登录成功了,就return一个true回去吧
解决方案五:
返回一个bool就ok!习惯上。。。
解决方案六:
你最好使用ExecuteScalar方法返回一个值,由这个值来决定是否登录成功并返回True或False。
解决方案七:
你如果打算在调用这个方法的时候得到返回值.那么还是返回bool值,如果外面不需要,那么你就什么都不需要返回。直接void。
解决方案八:
up