问题描述
做一个ASP的登录:我一登录就说我抛出的=后有错误。求高手解决下。这事数据访问层:stringsqlst="DataSource=.;InitialCatalog=ContestDB;IntegratedSecurity=True";SqlConnectioncon=null;publicstringsqlconn(stringsql){try{con=newSqlConnection(sqlst);con.Open();SqlCommandcomm=newSqlCommand(sqlst,con);stringsqlscl=comm.ExecuteScalar().ToString();con.Close();returnsqlscl;}catch{throw;}逻辑层:publicboolii(stringid,stringpwd){stringsqls="selectcount(*)fromSF_userrwhereSF_ID='"+id+"'andSF_pwd='"+pwd+"'";sqldbhelpersqldb=newsqldbhelper();if(int.Parse(sqldb.sqlconn(sqls))>0){returntrue;}else{returnfalse;}UI层:protectedvoidButton1_Click(objectsender,EventArgse){stringId=TextBox1.Text.Trim();stringPwd=TextBox2.Text.Trim();Ctrl_infoinfto=newCtrl_info();if(infto.ii(Id,Pwd)){Response.Write("<script>alert('成功')</script>");}else{Response.Write("<script>alert('失败')</script>");}
解决方案
解决方案二:
详细错误信息是什么?题外话,你的dal貌似有问题,不过这个跟你的错误应该关系不大:SqlConnectioncon=null;publicstringsqlconn(stringsql){try{con=newSqlConnection(sqlst);
con为什么要定义为实例级别的变量?临界情况下,当sqlconn出现并发操作的时候,你的con会被重复赋值,从而现异常.当然,如果你确定自己必须使用实例级别的变量,那么对于这个变量的初始化你应该保证只会进行一次.
解决方案三:
给个错误提示来看看
解决方案四:
可能是SQL语句的问题。