Hi,
I am trying to update the gridview using the dataadapter and dataset, but when i click the save button after changing the data in the grid I get Concurrency Violation error.
The code is as follows
namespace app1
{
public partial class Form1 : Form
{
MySql.Data.MySqlClient.MySqlConnection conn;
MySqlDataAdapter adapter;
DataSet ds;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void radButton2_Click(object sender, EventArgs e)
{
string myConnectionString;
myConnectionString = "server=localhost;uid=root;" +
"pwd=xxxx;database=ldis;";
conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
try
{
conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
}
DataTable dtusers = new DataTable() ;
dtusers = Getusers();
radGridView2.DataSource = dtusers;
conn.Close();
}
private DataTable Getusers()
{
string query = "select userid,password,user_group,status,expiry from users";
adapter = new MySqlDataAdapter(query, conn);
ds = new DataSet();
adapter.Fill(ds);
adapter.UpdateCommand = new MySqlCommand(
"UPDATE users SET password=@password, user_group=@user_group,status=@status WHERE userid=@userid;", conn);
adapter.UpdateCommand.Parameters.Add("@userid", MySqlDbType.VarChar, 25, "userrid");
adapter.UpdateCommand.Parameters.Add("@password", MySqlDbType.VarChar, 45, "password");
adapter.UpdateCommand.Parameters.Add("@user_group", MySqlDbType.VarChar, 45, "user_group");
adapter.UpdateCommand.Parameters.Add("@status", MySqlDbType.VarChar, 10, "status");
adapter.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
return ds.Tables[0];
}
private void radButton1_Click(object sender, EventArgs e)
{
adapter.Update(ds);
}
}
}
any help or suggestions will be appreciated, searched Google but it seems problem is something specific with my code.