Click here to Skip to main content
15,892,072 members
Please Sign up or sign in to vote.
3.00/5 (2 votes)
See more:
I develop three pages login.cs, register.cs and userdetails.cs. My register page is working fine when I login in image that I upload when I register is not display on userdetails page
UserDetails code is
DataBaseClass dbClass = new DataBaseClass();
    public DataTable dt;
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    public void GetUserDetails(int id)
    {
        string getUserDetail = "Select ID,Email,Name,Country,Convert(varchar (20), RegisterDate, 106) RegisterDate,Convert(varchar (20), LastLogin, 106) LastLogin ,Description,ImageName FROM [User] where Id='" + id + "'";
        dt = dbClass.ConnectDataBaseReturnDT(getUserDetail);
        if (dt.Rows.Count > 0)
        {
           Image1.ImageUrl = "~/UserImage/" + dt.Rows[11]["ImageName"].ToString();
        }
login code is


DataBaseClass dbClass = new DataBaseClass();
    public DataTable dt;
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void OnAuthenticate(object sender, AuthenticateEventArgs e)
    {
        bool Authenticated = false;
        CheckBox chBox = (CheckBox)ctlLogin.FindControl("RememberMe");
        Authenticated = UserAuthenticate(ctlLogin.UserName, ctlLogin.Password);
        e.Authenticated = Authenticated;
        if (Authenticated == true)
        {
            if (chBox.Checked == true)
            {
                Response.Cookies["RFriend_Email"].Value = ctlLogin.UserName;
                Response.Cookies["RFriend_PWD"].Value = ctlLogin.Password;
                Response.Cookies["RFriend_UID"].Value = Session["UserId"].ToString();
                Response.Cookies["RFriend_Email"].Expires = DateTime.Now.AddMonths(3);
                Response.Cookies["RFriend_PWD"].Expires = DateTime.Now.AddMonths(3);
                Response.Cookies["RFriend_UID"].Expires = DateTime.Now.AddMonths(3);
            }
            Response.Redirect("UserDetails.aspx?Id=" + Session["UserId"].ToString());
        }
    }
    private bool UserAuthenticate(string UserName, string Password)
    {
        bool boolReturnValue = false;
        //--------------------------------
        //Check UserID From Config File
        if (UserName == "Rahul" && Password == "Saxena")
        {
            boolReturnValue = true;
            return boolReturnValue;
        }
        else
        {
            //--------------------------------
            dt = new DataTable();
            SqlConnection con=new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\omar\Documents\Visual Studio 2005\WebSites\WebSite8\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
            string chkUser = "Select * FROM [User] where Email='" + UserName + "' AND Password='" + Password + "'";
            dt = dbClass.ConnectDataBaseReturnDT(chkUser);
            if (dt.Rows.Count > 0)
            {
                boolReturnValue = true;
                Session["UserId"] = dt.Rows[0]["Id"].ToString();
                SqlCommand cmd = new SqlCommand("UPDATE [User] SET LastLogon = GETDATE() where Id= @UserId", con);
                SqlParameter param = new SqlParameter();
                param.ParameterName = "@UserId";
                param.Value = Session["UserId"];
                cmd.Parameters.Add(param);
                
            }
            return boolReturnValue;
        }
    }

Table name is User

MY database table is User
ID                int
Email             primarykey varchar(250)     
Password          varchar(250)
Name              varchar(250)                  
Country           varchar(250)
Gender            varchar(250)
Year              varchar(250) 
Date              varchar(250)
Month             varchar(250)
RegisterDate      datetime                   allownulls 
LastLogin         datetime                   allownulls
Description       varchar(50)
ImageName         varchar(1000)


Databaseclass.cs
SqlDataAdapter da;
    SqlConnection con;
    SqlCommand cmd = new SqlCommand();
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    public DataBaseClass()
	{
		//
		// TODO: Add constructor logic here
		//
	}
    public void ConnectDataBaseToInsert(string Query)
    {
        con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\omar\Documents\Visual Studio 2005\WebSites\WebSite8\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
        cmd.CommandText = Query;
        cmd.Connection = con;
        da = new SqlDataAdapter(cmd);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
    }
    public DataSet ConnectDataBaseReturnDS(string Query)
    {
        ds = new DataSet();
        con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\omar\Documents\Visual Studio 2005\WebSites\WebSite8\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
        cmd.CommandText = Query;
        cmd.Connection = con;
        da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
        return ds;
    }
    public DataTable ConnectDataBaseReturnDT(string Query)
    {
        dt = new DataTable();
        con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\omar\Documents\Visual Studio 2005\WebSites\WebSite8\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
        cmd.CommandText = Query;
        cmd.Connection = con;
        da = new SqlDataAdapter(cmd);
        da.Fill(dt);
        con.Open();
        cmd.ExecuteNonQuery();//error is here 
        con.Close();
        return dt;
    }
Posted
Updated 22-Mar-11 3:02am
v2
Comments
Wendelius 22-Mar-11 9:03am    
Pre-tags added, few minor spelling corrections
Pavel Yermalovich 22-Mar-11 9:16am    
Have you tried to debug your program?

As John Simmons pointed out, please pinpoint and describe the problem. Another thing is that I don't understand why do you have separate fields for date/year/month. Reconsider using date datatype.
 
Share this answer
 
You posted too much code, didn't specify what error you're getting.

Try putting try/catch blocks around your code to see what the actual exception is. It should be fairly descriptive.
 
Share this answer
 
v2
In your user details you set the image with this:

Image1.ImageUrl = "~/UserImage/" + dt.Rows[11]["ImageName"].ToString()


Using this, the index into the rows collection in your datatable is returning the 12th row.

I'm guessing you are only intend to return a single row from the query, so "dt.Rows[11]" should be "dt.Rows[0]".
 
Share this answer
 
Did you actually call GetUserDetails anywhere? I don't see it and would expect it to be in PageInit or PageLoad.

If you are calling it and it isn't doing what you expect, put some debugging output in there. Is the query correct? (For example are you trying to call it before the user ID is available, or something like that?)

And yes it's a minor point but your database schema is a bit screwy. The birthdate should be a Date, the gender should be a choice (or an shortint or something to simulate that) and why are all the fields long enough to type an essay except Description, which is the one you might want to type a lot in?
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900