首页 > 解决方案 > 如何在 VS 2015 中通过 DataGridView 更新数据

问题描述

我只需要通过单击单元格并在此处键入新内容来通过 dataGridView 更新数据。我认为如果我用实际的行单元格分配参数但失败了,它会起作用。我该怎么做?

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
            DataGridViewRow row = dataGridView1.CurrentRow;
            textBox1.Tag = row.Cells["ID"].Value.ToString();
            row.Cells["name"].Value.ToString();
            row.Cells["surname"].Value.ToString();
            row.Cells["country"].Value.ToString();
            row.Cells["countrycode"].Value.ToString();
            row.Cells["prefix"].Value.ToString();
            row.Cells["number"].Value.ToString();
}

private void uPDATEToolStripMenuItem_Click(object sender, EventArgs e)
{
            SqlConnection con = new SqlConnection(@"Data Source = DESKTOP-9I0BNAS\SQLEXPRESS; Initial Catalog = CAVID; Integrated Security = True");
            con.Open();
            SqlCommand cmd = new SqlCommand("UPDATE Contacts SET name=@name,surname=@surname,country=@country,countrycode=@countrycode,prefix=@prefix,number=@number Where ID = @id ", con);

            DataGridViewRow row = dataGridView1.CurrentRow;
            cmd.Parameters.AddWithValue("@id", textBox1.Tag);
            cmd.Parameters.AddWithValue("@name", row.Cells[1].Value.ToString());
            cmd.Parameters.AddWithValue("@surname", row.Cells[2].Value.ToString());
            cmd.Parameters.AddWithValue("@country", row.Cells[3].Value.ToString());
            cmd.Parameters.AddWithValue("@countrycode", row.Cells[4].Value.ToString());
            cmd.Parameters.AddWithValue("@prefix", row.Cells[5].Value.ToString());
            cmd.Parameters.AddWithValue("@number", row.Cells[6].Value.ToString());

            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }

            try
            {
                cmd.ExecuteNonQuery();
                MessageBox.Show("Success");
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                con.Close();
            }
}

标签: .netsql-serverado.net

解决方案


推荐阅读