你可以循环gridview,把你要取得列全部读出来,同时也要读出每一行的主键,然后用sql完成更新
解决方案 »
- C# WINFORM 运行时的窗体尺寸为什么比在设计视图设计的大一些
- |ZYCWPF| 如何在XAML中绑定我类中的一个ImageSource 谢谢
- 一个服务里面多个线程和多个服务的区别????
- 求助:关于combobox相关控件的选择问题
- 用CSharp编写工业控制上位机软件
- 使用RequiredFieldValidator的问题. 很急!在线等.谢谢
- 画图类的使用。
- 请教:aaa{bbb {is} ccc {0:xxx}.ccc}我想匹配"{"后面不是数字的括号对,能用正则表达式吗?
- 文件(doc,pdf)存入数据库,怎样从数据库读取出来并按原来格式(word,pdf)显示出来
- c#新手请教个问题,关于OCX控件的,希望大家帮帮忙。
- 这样的需求如何实现???????(关于dll与web服务)
- 急救:用简单的方法如何能把DataGrid显示的内容导出到Excel
/// <summary>
/// 更新一个结果集
/// </summary>
/// <param name="sql">产生结果集的SQL语句</param>
/// <param name="dataSet">发生改变的结果集</param>
/// <param name="srcTable">数据表名</param>
/// <param name="continueUpdateOnError"> 产生异常时是否继续更新</param>
/// <param name="transaction">事务</param>
/// <returns>影响的行数</returns>
public static int UpdateDataSet(string sql, DataSet dataSet, string srcTable, bool continueUpdateOnError,
SqlTransaction transaction)
{
int count = -1; SqlDataAdapter da = new SqlDataAdapter(sql, transaction.Connection);
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = transaction.Connection;
da.SelectCommand.CommandText = sql; da.ContinueUpdateOnError = continueUpdateOnError;
SqlCommandBuilder cmb = new SqlCommandBuilder();
cmb.DataAdapter = da;
cmb.ConflictOption = ConflictOption.OverwriteChanges; da.SelectCommand.Transaction = transaction;
da.InsertCommand = cmb.GetInsertCommand();
da.InsertCommand.Transaction = transaction;
da.DeleteCommand = cmb.GetDeleteCommand();
da.DeleteCommand.Transaction = transaction;
da.UpdateCommand = cmb.GetUpdateCommand();
da.UpdateCommand.Transaction = transaction;
count = da.Update(dataSet, srcTable);
return count;
} /// <summary>
/// 更新一个结果集
/// </summary>
/// <param name="sql">产生结果集的SQL语句</param>
/// <param name="dataSet">发生改变的结果集</param>
/// <param name="srcTableIndex">数据表的Index</param>
/// <param name="continueUpdateOnError">产生异常时是否继续更新</param>
/// <param name="transaction">事务</param>
/// <returns>影响的行数</returns>
public static int UpdateDataSet(string sql, DataSet dataSet, int srcTableIndex,
bool continueUpdateOnError,
SqlTransaction transaction)
{
string srcTableName = dataSet.Tables[srcTableIndex].TableName;
return UpdateDataSet(sql, dataSet, srcTableName, continueUpdateOnError, transaction);
} /// <summary>
/// 更新一个结果集
/// </summary>
/// <param name="sql">产生结果集的SQL语句</param>
/// <param name="dataSet">发生改变的结果集</param>
/// <param name="continueUpdateOnError">产生异常时是否继续更新</param>
/// <param name="transaction">事务</param>
/// <returns>影响的行数</returns>
public static int UpdateDataSet(string sql, DataSet dataSet,
bool continueUpdateOnError,
SqlTransaction transaction)
{
return UpdateDataSet(sql, dataSet, 0, continueUpdateOnError, transaction);
} /// <summary>
/// 更新一个结果集
/// </summary>
/// <param name="sql">产生结果集的SQL语句</param>
/// <param name="ds">发生改变的结果集</param>
/// <param name="continueUpdateOnError"> 产生异常时是否继续更新</param>
/// <returns>影响的行数</returns>
public static int UpdateDataSet(string sql, DataSet dataSet, bool continueUpdateOnError)
{
int count = -1; SqlConnection con = new SqlConnection(SysConnectionString);
con.Open();
SqlTransaction transaction = con.BeginTransaction();
try
{
count = UpdateDataSet(sql, dataSet, continueUpdateOnError, transaction);
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
throw ex;
}
finally
{
con.Close();
}
return count;
}