.net - 如何在 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();
}
}
解决方案
推荐阅读
- wso2 - WSO2 Siddhi DynamoDB 存储扩展
- r - 如果列中的值以...开头,则在 R 中使用给定文本改变另一列
- angular - 基于模板值的 Kendo UI Grid 样式单元格
- python - 逗号作为python中的小数点
- c# - 通过组合框选定项填充其他控件 asp.net core Razor Page
- azure - 如何报告我的每个容器的使用量?
- regular-language - 编写描述集合的正则表达式
- perl - 带有 message_string() 函数的错误 IMAPClient
- sequelize.js - 为受约束的关联起别名
- mysql - 什么是 SCHEMA_MIGIMP..MIGRATION_STATUS?