你好,帮我看看这个为什么总是提示说"使用了未赋值的局部变量“gusername”"
 protected void save_Click(object sender, EventArgs e)
    {
        string select;
        string str = Context.Server.MapPath(Request.ApplicationPath);
        str = str + "\\" + "App_Data" + "\\" + "wdf.mdb";
        System.Data.OleDb.OleDbConnection oleConn = new System.Data.OleDb.OleDbConnection();
        oleConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + str + ";User ID=Admin";
        oleConn.Open();
        System.Data.OleDb.OleDbDataReader Reader;
        select = "SELECT [username] FROM (select [username] FROM ghsb union select [username] FROM [user]) AS regisert where username='" + UserName.Text.Trim() +"'";
        olecomm = new System.Data.OleDb.OleDbCommand(select, oleConn);
        Reader = olecomm.ExecuteReader();
        Reader.Read();
        string gusername;
        
        if (Convert.ToString(Reader.GetValue(0))==UserName.Text.Trim())
        {
           
            Response.Write("<script language='javascript'>alert('对不起'+UserName+'已经有人用了,请换其它的!');</script>");
        }
        else
        {
            gusername = UserName.Text.Trim();
        }
        olecomm.Connection.Close();
        
      string strinsert = "insert into [user] (username)"
                     + " values ('" + gusername + "')";
                    oleConn.Open();
                     oleComm = new System.Data.OleDb.OleDbCommand(strinsert, oleConn);
                     oleComm.ExecuteNonQuery();
                     //Response.Write("<scprit language='javascript'>alert('注册成功,进入首页登录!');</script>");//可修改成在10秒钟自动进入主页;或是让用户自己选择
                     labelmessage.Text = "注册成功,进入首页登录!";
                     oleComm.Connection.Close();
                     oleConn.Close();                
                    
                  
                       
        
    }

解决方案 »

  1.   

    给gusername 赋个初值
    string gusername ="";
      

  2.   

    gusername 在 if (Convert.ToString(Reader.GetValue(0))==UserName.Text.Trim())
            {
               
                Response.Write("<script language='javascript'>alert('对不起'+UserName+'已经有人用了,请换其它的!');</script>");
            }
            else
            {
                gusername = UserName.Text.Trim();
            }
    这里只有一种情况赋值,另外一种没有赋值,可以将string gusername;改为string gusername=null;
      

  3.   

    string gusername; 
    改为全局======================
    新年快乐
    ======================
      

  4.   

    我的是这么做的,但是我引用了一个数据库语句类 ,里面的 ttt是这个类的名字
       protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (password.Text == password1.Text && username.Text != "")
                {
                    string strmenoname = "";
                    string strmenoid = "";
                    string strfgsid = "";
                    string strfgsname = "";
                    if (quan.SelectedValue.ToString() == "1")
                    {
                        strmenoname = menoname.SelectedItem.Text;
                        strmenoid = menoname.SelectedValue.ToString();                }
                    
                    string strInsert = "select username from admin_tbl where username='" + username.Text + "'";
                    if (ttt.ExistDate1(strInsert)==false)//看是否有这个用户名
                    {
                        
                        strInsert = "insert into admin_tbl (username,password1,updatetime,quan,menoid) values ('" + username.Text + "','" + password.Text + "','" + DateTime.Now + "','" + quan.SelectedItem.Value.ToString() + "','" + strmenoid + "')";
                        //message.Text = strInsert;
                        ttt.RunProc1(strInsert);
                        Response.Redirect("edituser.aspx");
                    }
                    else
                    {
                        message.Text = "对不起这个用户名已经被占用了,请输入其它的用户名";
                    }
                }
                else
                {
                    message.Text = message.Text + "用户名不能为空,密码和确认密码要一致!";
                }        }
            catch (Exception ex)
            {
                message.Text = message.Text + "错误" + ex.Message.ToString();
            }
        }
      

  5.   

    qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
      

  6.   

    哥们,你也把数据访问层封装一下啊,何必每次都去写那么多重复代码.
    你的错误是:string gusername;
    改为string gusername="";