【发布时间】:2014-06-06 14:28:22
【问题描述】:
我正在尝试“更新”放置在 dataGridView 上的单元格中的数据。我将数据从 Excel 文件导入 dataGridView。使用这种方法;
public static void updateTable1(string myNameRange, string mySET, string myWHERE)
{
string sql = null;
sql = "UPDATE " + myNameRange + " SET " + mySET + "' WHERE " + myWHERE + "'";
//sql = "INSERT INTO" + myNameRange + " SET " + mySET + "'";
myCommand.CommandText = sql;
myCommand.ExecuteNonQuery();
}
如果我们有 NAME 和 AGE 列标题,如果我输入一个名称为 Jack 和 Mike 的表格,年龄分别为 10 岁和 20 岁,如果我将 Jacks 年龄从 10 岁更改为 30 岁,则此方法有效。代码说。列名称 = Jack 然后将列 AGE 设置为 30。这又很好用。问题是如果我想更改姓名和年龄怎么办。因此,将 Jack 更改为 Matt,并将 Mikes 的年龄更改为 40。或者在我的表中添加另一个姓名和年龄。这种方式行不通。有没有一种简单的方法来更新整个表并进行任何更改?
【问题讨论】:
-
你需要一些额外的条件逻辑,比如
AND,如果你的表中有多个 Jack,你怎么知道要更新哪个......你需要另一个 Key 来引用。你需要一种方法来跟踪新更新的记录..所以跟踪 ID 或主键或其他一些键索引也会有所帮助,所以也许你可以创建一个存储过程并使用一个可以处理 INSERT 和 UPDATE 声明一些变量的 SP,根据条件设置它们并根据需要创建out参数
标签: c# excel datagridview