问题描述
使用双数据库登录ACCESS用Radiobutton控制一个是管理员一个是用户管理员是radiobutton1用户是radiobutton2管理员那个能正常登录用户的点击登录就出现错误怎么办呀错误那行用红色标记了模块显示类似这种------------------|○管理员○客户||||||账户:□□□□□□||||密码:□□□□□□||登录注册|------------------usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Collections;usingSystem.Data.OleDb;publicpartialclass_Default:System.Web.UI.Page{protectedvoidButton1_Click(objectsender,EventArgse){{stringstrConn=System.Configuration.ConfigurationSettings.AppSettings["ConnStr"].ToString();OleDbConnectionmyConnection=newOleDbConnection(strConn);myConnection.Open();OleDbCommandmyCommand=newOleDbCommand("select*fromUserInforwhereUserName='"+txtName.Text.ToString()+"'andpwd='"+txtPwd.Text.ToString()+"'",myConnection);OleDbDataReaderoddr=myCommand.ExecuteReader();if(RadioButton1.Checked){if(oddr.HasRows){oddr.Close();myConnection.Close();Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('登录成功!')",true);//HttpCookiecookies=newHttpCookie("MyCookie");//cookies["name"]=txtName.Text.ToString();//cookies.Expires=DateTime.Now.AddMinutes(20);//Response.Cookies.Add(cookies);Session["UserName"]=txtName.Text.ToString();Response.Redirect("Login.aspx");}if((txtName.Text=="")||(txtPwd.Text=="")){Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('用户名和密码不能为空!')",true);return;}else{oddr.Close();myConnection.Close();Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('用户名或密码错误!')",true);txtName.Text="";txtPwd.Text="";}}}{stringstrConn2=System.Configuration.ConfigurationSettings.AppSettings["ConnStr"].ToString();OleDbConnectionmyConnection2=newOleDbConnection(strConn2);myConnection2.Open();OleDbCommandmyCommand2=newOleDbCommand("select*fromClientInforwhereUserName='"+txtName.Text.ToString()+"'andpwd='"+txtPwd.Text.ToString()+"'",myConnection2);OleDbDataReaderoddr2=myCommand2.ExecuteReader();if(RadioButton2.Checked){if(oddr2.HasRows){oddr2.Close();myConnection2.Close();Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('登录成功!')",true);//HttpCookiecookies=newHttpCookie("MyCookie");//cookies["name"]=txtName.Text.ToString();//cookies.Expires=DateTime.Now.AddMinutes(20);//Response.Cookies.Add(cookies);Session["UserName"]=txtName.Text.ToString();Response.Redirect("Login2.aspx");}if((txtName.Text=="")||(txtPwd.Text=="")){Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('用户名和密码不能为空!')",true);return;}else{oddr2.Close();myConnection2.Close();Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('用户名或密码错误!')",true);txtName.Text="";txtPwd.Text="";}}}}}
、标准表达式中数据类型不匹配。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Data.OleDb.OleDbException:标准表达式中数据类型不匹配。源错误:行89:OleDbCommandmyCommand2=newOleDbCommand("select*fromClientInforwhereUserName='"+txtName.Text.ToString()+"'andpwd='"+txtPwd.Text.ToString()+"'",myConnection2);行90:行91:OleDbDataReaderoddr2=myCommand2.ExecuteReader();行92:行93:
解决方案
本帖最后由 wojiaoshishi321 于 2012-06-10 12:25:28 编辑
解决方案二:
看看ClientInfor表中的字段类型是否正确
解决方案三:
可能是你插入的数据于数据库字段的数据类型不匹配造成的,请仔细检查数据类型