Sanjay Nakate
Sanjay Nakate

Reputation: 2098

Update table values using cmd.Parameters.AddWithValue not working

I have to update some values in table row if UserId = Session["username"] but its showing error:

ExecuteNonQuery: Connection property has not been initialized.

can any one know what i am doing wrong here a Session["username"] have its value i have checked.

SqlConnection conn7 = new SqlConnection(@"Data Source=SANJAY-PC\SQLEXPRESS;Initial Catalog=dev;User ID=sa;Password=sa@123;Pooling=False");
        var qry = "UPDATE Registration (FirstName,LastName,Password,LastName,EmaildId,UserId) " +
      "VALUES (@FirstName, @LastName, @Password, @EmaildId, @UserId) WHERE UserId='" + Session["username"] + "'";
        var cmd = new SqlCommand(qry);
        cmd.Parameters.AddWithValue("@FirstName", Firstname_Update.Text);
        cmd.Parameters.AddWithValue("@LastName", Lastname_Update.Text);
        cmd.Parameters.AddWithValue("@Password", Password_Update.Text);
        cmd.Parameters.AddWithValue("@EmaildId", EmailIdUpdate.Text);
        cmd.Parameters.AddWithValue("@UserId", UserIdUpdate.Text);
        conn7.Open();
        cmd.ExecuteNonQuery();
        conn7.Close();

Upvotes: 0

Views: 2982

Answers (4)

kattav mauk
kattav mauk

Reputation: 56

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
'Set' Missing

Upvotes: -1

Sachu
Sachu

Reputation: 7766

Two Problems

  1. In SQLCOMMAND you should specify querystring,connection

  2. Your update query syntax is wrong

..try below

SqlConnection conn7 = new SqlConnection(@"Data Source=SANJAY-PC\SQLEXPRESS;Initial Catalog=dev;User ID=sa;Password=sa@123;Pooling=False");

var qry = "UPDATE Registration   
           SET FirstName=@FirstName,LastName=@LastName,Password=@Password,
            EmaildId=@EmaildId,UserId=@UserId WHERE UserId=@UserId1";
            var cmd = new SqlCommand(qry,conn7);
            cmd.Parameters.AddWithValue("@FirstName", Firstname_Update.Text);
            cmd.Parameters.AddWithValue("@LastName", Lastname_Update.Text);
            cmd.Parameters.AddWithValue("@Password", Password_Update.Text);
            cmd.Parameters.AddWithValue("@EmaildId", EmailIdUpdate.Text);
            cmd.Parameters.AddWithValue("@UserId", UserIdUpdate.Text);
    cmd.Parameters.AddWithValue("@UserId1",  Session["username"].ToString());
            conn7.Open();
           // cmd7.ExecuteNonQuery();
            cmd.ExecuteNonQuery();
            conn7.Close();

Upvotes: 1

Zein Makki
Zein Makki

Reputation: 30042

Use Parameters for all you input, don't concatenate strings in queries.

As for your error, you need to specify the connection that the command needs to use:

SqlConnection conn7 = new SqlConnection(@"Data Source=SANJAY-PC\SQLEXPRESS;
                           Initial Catalog=dev;User ID=sa;Password=sa@123;Pooling=False");

var qry = " UPDATE Registration SET FirstName = @FirstName, LastName = @LastName," 
        + " Password = @Password, EmaildId = @EmaildId WHERE UserId = @UserCondition";

var cmd = new SqlCommand(qry, conn7 );

cmd.Parameters.AddWithValue("@FirstName", Firstname_Update.Text);
cmd.Parameters.AddWithValue("@LastName", Lastname_Update.Text);
cmd.Parameters.AddWithValue("@Password", Password_Update.Text);
cmd.Parameters.AddWithValue("@EmaildId", EmailIdUpdate.Text);
cmd.Parameters.AddWithValue("@UserId", UserIdUpdate.Text);
cmd.Parameters.AddWithValue("@UserCondition", Session["username"].ToString());
conn7.Open();

cmd.ExecuteNonQuery();

conn7.Close();

Upvotes: 0

Esko
Esko

Reputation: 4207

You need to tell the SqlCommand-object which connection to use, change this line

var cmd = new SqlCommand(qry, conn7);

Upvotes: 2

Related Questions