直接在DataGridView中添加修改数据的问题

2024-12-17 18:01:47
推荐回答(3个)
回答1:

哈哈,我昨天刚刚做好这个,这是我们C#数据库设计的一部分要求。
说明下我用的是VS2005的C#和SQL 2005。不知道你是不是想用datagridview实现读取数据表和批量修改或添加,还有删除当前行。
首先用datagridview读取数据表
private void 商店一_员工_Load(object sender, EventArgs e)
{
sqlConn = new SqlConnection("Data Source=ASUS-PC\\SQLEXPRESS;Initial Catalog=SUPERMARKET;Integrated Security=True;");
sqlDa = new SqlDataAdapter("SELECT * FROM dbo.商店一_员工", sqlConn);

sqlDs = new DataSet();
sqlDa.Fill(sqlDs, "dbo.商店一_员工");
dataGridView1.DataSource = sqlDs.Tables["dbo.商店一_员工"];

//然后用SqlCommandBuilder自动为SqlDataAdapter生成Insert、Update、Delete命令
SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(sqlDa);
}
第一个按钮完成修改更新事件:
private void button1_Click(object sender, EventArgs e)
{
if (sqlDs.HasChanges())
{
try
{
sqlDa.Update(sqlDs.Tables["dbo.商店一_员工"]);
sqlDs.Tables["dbo.商店一_员工"].AcceptChanges();
MessageBox.Show("更新成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "更新失败!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
第二个按钮完成删除当前行
private void button2_Click(object sender, EventArgs e)
{
//删除首先要定位到当前选中的记录
int delRowIndex = dataGridView1.CurrentRow.Index;
this.dataGridView1.Rows.RemoveAt(delRowIndex);

//然后调用保存按钮保存删除操作
button1.PerformClick();
}

PS:
using System.Data.SqlClient;
using System.Data;
SqlConnection sqlConn;
SqlDataAdapter sqlDa;
DataSet sqlDs;
还有数据库里表要设置主键

回答2:

遍历DataGridView,然后就可以保存了

回答3:

页面已经有了么