protected override DbCommand GetUpdateCommand(DataTable changedRecords)
{
StringBuilder query = new StringBuilder(string.Format("UPDATE {0} SET ",changedRecords.TableName));
List primary = new List();
primary.AddRange(changedRecords.PrimaryKey);
for (int i = 0; i < changedRecords.Columns.Count; i++ )
{
DataColumn column = changedRecords.Columns[i];
if (!primary.Contains(column))
{
query.Append(column.ColumnName + "=@" + column.ColumnName);
if (i < changedRecords.Columns.Count - changedRecords.PrimaryKey.Length - 1)
query.Append(" ,");
}
}
query.Append(" WHERE ");
for (int i = 0; i < changedRecords.PrimaryKey.Length; i++)
{
DataColumn column = changedRecords.PrimaryKey[i];
query.Append(column.ColumnName + "=@" + column.ColumnName);
if (i < changedRecords.PrimaryKey.Length - 1)
query.Append(" ,");
}
SqlCommand command = new SqlCommand(query.ToString());
command.UpdatedRowSource = UpdateRowSource.None;
return command;
}
Wednesday, October 15, 2008
How to create update command from a DataTable
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment