0

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();
2
  • Why do you use parameters for all of them except UserId ? Commented Jul 11, 2016 at 7:13
  • @SanjayNakate check my answer Commented Jul 11, 2016 at 7:46

4 Answers 4

2

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

var cmd = new SqlCommand(qry, conn7);
Sign up to request clarification or add additional context in comments.

2 Comments

i have added this but its showing Incorrect syntax near '('. at cmd.ExecuteNonQuery(); line
@SanjayNakate you must have syntax error somewhere, did you change that line? Check the code again.
1

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();

1 Comment

SET is missing in the sql
0

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();

5 Comments

i have added this but its showing Incorrect syntax near '('. at cmd.ExecuteNonQuery(); line
@SanjayNakate You update syntax is wrong. check the edited answer.
Code compile without any errors but values not going to update.
@SanjayNakate Why are you using UserIdUpdate.Text is one place and Session["username"] in another place. Change the update query provided to meet your needs, but keep the same UPDATE syntax.
-1
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
'Set' Missing

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.