April 26, 2013 at 9:18 am
Hi,
Another C# question here. What I am trying to do is update information within a datagrid that could contain multiple records and multiple edits when clicking an Update button.
When I run my code I get no errors, but also no action happens either. Can you help me understand what I am missing here?
SqlConnection myConnection = new SqlConnection(Test_Utility.Properties.Settings.Default.ConnectionString);
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter("Select * from Assignment", myConnection);
mySqlDataAdapter.UpdateCommand = new SqlCommand("Update Assignment SET Active='0' WHERE ID='99999'", myConnection);
SqlCommandBuilder cb = new SqlCommandBuilder(mySqlDataAdapter);
cb.GetUpdateCommand();
DataSet ds = new DataSet();
mySqlDataAdapter.Fill(ds);
dataGridView1.DataSource = ds;
mySqlDataAdapter.Update(ds);
Thanks in advance!
April 30, 2013 at 8:03 am
Hi,
I am still trying to figure this one out. What I want to do is update all records in a datagrid when clicking an update button. I have been able to get it to update the current row, but what do I need to do from here to get it to update all records?
Here is my latest code:
SqlConnection updConnection = new SqlConnection(Test_Utility.Properties.Settings.Default.ConnectionString);
string updSqlStmt = "UPDATE Assignment SET Active= '1', StatusType='9999', EndDt =@EndDt WHERE ID=@ID";
try
{
updConnection.Open();
SqlCommand updCmd = new SqlCommand(updSqlStmt, updConnection);
updCmd.Parameters.AddWithValue("@ID", dataGridView1.CurrentRow.Cells["ID"].Value);
updCmd.Parameters.AddWithValue("@EndDt", dataGridView1.CurrentRow.Cells["EndDt"].Value);
updCmd.CommandType = CommandType.Text;
updCmd.ExecuteNonQuery();
txtProgress.Text = "Update completed.";
AssignmentTableAdapter.FillID(ds_Assignment.tAssignment, Convert.ToInt32(txtID.Text));
}
finally
{
updConnection.Close();
updConnection.Dispose();
}
May 1, 2013 at 8:53 am
Hello,
I have implemented a form with a grid that can be used to edit data in a variety of different tables. Then the update button calls a generic method that receives the dataset that was bound to the grid. It gets the table name from the dataset and uses a SQLCommandBuilder object to create the update (and all the other commands) from a simple select of all fields.
Here is the code:
public void UpdateDataGridList(DataSet gridDataSet)
{
// File the updates from the grid view form...
SqlConnection connection = new SqlConnection(ConnectString);
SqlDataAdapter tempDataAdapter;
SqlCommandBuilder bldr; // needs to build to get update and other cmds.
string tableName = gridDataSet.Tables[0].TableName;
tempDataAdapter = new SqlDataAdapter("Select * from " + tableName, connection);
bldr = new SqlCommandBuilder(tempDataAdapter);
try
{
tempDataAdapter.Update(gridDataSet.Tables[tableName]);
}
catch (DBConcurrencyException ex)
{
System.Windows.Forms.MessageBox.Show("Someone else updated this data.");
}
}
This updates any changes I made anywhere in the data set.
Of course you need to replace ConnectString with yours and you may need to close the connection.
Does that help?
Viewing 3 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy