Reputation: 2098
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
Reputation: 56
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
'Set' Missing
Upvotes: -1
Reputation: 7766
Two Problems
In SQLCOMMAND you should specify querystring,connection
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
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
Reputation: 4207
You need to tell the SqlCommand-object which connection to use, change this line
var cmd = new SqlCommand(qry, conn7);
Upvotes: 2