问题描述
目前数据库有2个表表1和表2的连接关系有USERID前台页做了2个TABLE分别为注册表和相信信息表因为功能设置成掉用3个panel分别显示 固然2个表的信息分开放问题1:在表1中已经int 一个USERID 去判断注册是否成功 在表2中我想寻找到表1的userid 想INT 一个变量=userid但是这个userid,找不到[注册后显示详细信息表,前提是自己登陆自己的页 若有更好办法请提议,同时希望解决我现在的问题]问题2:判断已做,可能是逻辑有问题,能够重复注册用户名;验证码在不通过的情况下依然可以成功注册问题3:if(Se.Number==2627)中2627是数据库编号 那么从哪里调出来问题4:头象路径总是报错 我给的路径是("UsersOperating/images/image_faces/")但系统提示错误信息为找不到路径("UsersOperating/UsersOperating/images/image_faces/")但同样的代码在别人的机器上可以正常运行下面的后台代码usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;publicpartialclassUsersOperating_Register:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){bindDropDownList1();Panel1.Visible=true;Panel2.Visible=false;Panel3.Visible=false;DetailsView1.Controls[3].Visible=false;}}privatevoidbindDropDownList1(){System.IO.DirectoryInfoD=newSystem.IO.DirectoryInfo(Server.MapPath("UsersOperating/images/image_faces/"));DropDownList1.DataSource=D.GetFiles("*.bmp");DropDownList1.DataBind();DropDownList1.Attributes.Add("onchange","document.getElementById('ImageUrl').src='UsersOperating/images/image_faces/'+document.getElementById('"+DropDownList1.ClientID+"').value");}protectedvoidButton_OK_Click(objectsender,EventArgse){SqlConnectioncn1=newSqlConnection(@"DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=alockar");SqlCommandcmd1=newSqlCommand("insertUsers",cn1);cmd1.CommandType=CommandType.StoredProcedure;cmd1.Parameters.Add("@UserName",SqlDbType.VarChar).Value=TextBox1.Text.Trim();cmd1.Parameters.Add("@Password",SqlDbType.VarChar).Value=TextBox2.Text.Trim();cmd1.Parameters.Add("@Email",SqlDbType.VarChar).Value=TextBox4.Text.Trim();cmd1.Parameters.Add("SFZ",SqlDbType.VarChar).Value=TextBox5.Text.Trim();cmd1.Parameters.Add("YZMY",SqlDbType.VarChar).Value=TextBox6.Text.Trim();cmd1.Parameters.Add("@UserID",SqlDbType.Int);cmd1.Parameters["@UserID"].Direction=ParameterDirection.Output;intUserID=0;try{cn1.Open();cmd1.ExecuteNonQuery();UserID=Convert.ToInt32(cmd1.Parameters["@UserID"].Value);}catch(SqlExceptionSe){if(Se.Number==2627){lblMessage.Text="用户存在";if(UserID<=0){Panel2.Visible=true;if(Panel2.Visible==true){Panel1.Visible=false;Panel3.Visible=false;}}}}catch{lblMessage.Text="服务器错误,请稍候再试!";}finally{if(cn1.State==ConnectionState.Open){cn1.Close();}}if(UserID>0){ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('成功创建')</script>");}{lblMessage.Text=string.Empty;if(Request.Cookies["CheckCode"]==null){lblMessage.Text="您的浏览器已禁用Cookies,请重新设置浏览器后再使用本系统";return;}if(string.Compare(Request.Cookies["CheckCode"].Value.ToLower(),TextBox7.Text.ToLower())!=0){lblMessage.Text="验证码错误,请输入正确的验证码";return;}}}protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectioncn2=newSqlConnection(@"DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=alockar");SqlCommandcmd2=newSqlCommand("insertU2",cn2);cmd2.CommandType=CommandType.StoredProcedure;cmd2.Parameters.Add("@Name",SqlDbType.VarChar).Value=TextBox8.Text.Trim();cmd2.Parameters.Add("@age",SqlDbType.VarChar).Value=TextBox9.Text.Trim();cmd2.Parameters.Add("@Tell",SqlDbType.VarChar).Value=TextBox11.Text.Trim();cmd2.Parameters.Add("@DiZhi",SqlDbType.VarChar).Value=TextBox12.Text.Trim();cmd2.Parameters.Add("@Postcode",SqlDbType.VarChar).Value=TextBox13.Text.Trim();cmd2.Parameters.Add("@QQ",SqlDbType.VarChar).Value=TextBox14.Text.Trim();cmd2.Parameters.Add("@MSN",SqlDbType.VarChar).Value=TextBox15.Text.Trim();cmd2.Parameters.Add("@ImageUrl",SqlDbType.VarChar).Value=DropDownList1.SelectedValue;cmd2.Parameters.Add("@Sex",SqlDbType.VarChar).Value=(RadioButton1.Checked==true)?"M":"F";cn2.Open();cmd2.ExecuteNonQuery();cn2.Close();ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('信息填写完成')</script>");Panel3.Visible=true;if(Panel3.Visible==true){Panel1.Visible=false;Panel2.Visible=false;}}protectedvoidButton2_Click1(objectsender,EventArgse){DetailsView1.Controls[3].Visible=true;}}
解决方案
解决方案二:
问题四:"UsersOperating/images/image_faces/"应为:"/UsersOperating/images/image_faces/"或"~/UsersOperating/images/image_faces/"因为别人用的是网站,你可能用的是虚拟目录。
解决方案三:
看晕了,顶一下,下面的来回答吧
解决方案四:
1、使用事务做同步,要么两表数据提交都成功,要么都失败回滚。2、同1。3、2627是数据库编号,那么只能从数据库中读取。4、//try:<imgsrc='<%=ResolveUrl("~/images/top.gif")%>'>
主要是路径问题
解决方案五:
首先你的问题描述自己得好好组织下文字,错字太多了,不知道你想不想解决问题?其次你的代码写的也有问题,如果是商用程序,你这样的程序把自己折腾死的。建议1:既然你使用存储过程来验证用户同时增加用户,那么为什么不在存储过程里面使用其他专用的返回值而不是依靠userid以及那个number来判断是否用户重复以及其他错误,这样你的程序可读性很差。2:在你确定按照1来完善你的程序后,你说的问题1可以很好的解决;问题2你自己看看你的protectedvoidButton1_Click(objectsender,EventArgse)---这个应该是添加用户的代码块吧?里面并没有执行比对验证码的功能!关于问题3,我建议不要使用这个sql内置错误码来判断,而应该在存储过程里面返回一个特定的错误代码和错误描述的output变量来共同描述当前的错误!这样你就不会有这个困惑;关于问题4:你应该使用“绝对路径",以程序目录根结点开始追溯到当前访问的目录比如我程序是根目录是a(c:inetpubwwwroota),我要访问d目录里面的e.gif图片(c:inetpubwwwrootabcde.gif)那么不管链接所在的页面在哪个目录下面,我这样写它肯定可以访问到该图片"/a/b/c/d/e.gif",即使该链接所在页面在b目录或者c目录
解决方案六:
该回复于2007-12-04 11:17:08被版主删除