有一个办法,可能是你想要的。但是不保证一定能实现你的目的。
在C#中有一个SqlCommandBuilder类,该类用来批量自动更新表数据变化,
说是自动更新,其实是根据已知的select语句,来自动生成其他的update,delete语句。
我以前项目的sqlhelper中,用这个类自定义过批量更新方法,在winform中使用一切ok。方法发你,看有用没。
有些细节一定要注意的是,表状态决定表数据的 *** 作,比如表某行状态是修改,那么SqlCommandBuilder会执行update。但是这个状态你要控制好。另外,你传递的select语句,一定要和你所构造的表结构接近吻合。看方法。
/// <summary>
/// operare database by commandbuilder
/// </summary>
/// <param name="connectinString">connectinString</param>
/// <param name="commandString">commandString</param>
/// <param name="sourceDable">do update or insert database table</param>
public static int ExecuteByCommandBuilder(string connectinString, string commandString, DataTable sourceDable, SqlParameter sqlparam)
{
SqlConnection sqlcon = new SqlConnection();
sqlconConnectionString = connectinString;
using (SqlCommand sqlcommand = new SqlCommand(commandString, sqlcon))
{
if (sqlparam != null)
{ sqlcommandParametersAdd(sqlparam); }
SqlDataAdapter da = new SqlDataAdapter();
daSelectCommand = sqlcommand;
//DataSet ds = new DataSet();
//daFill(ds);
//dsTables[0]Merge(sourceDable, false);
SqlCommandBuilder sqlcommandbuilder = new SqlCommandBuilder(da);
return daUpdate(sourceDable);
}
}
一般用SqlDataAdapter批量更新就行了,你可以参照下面的代码,另一个可以参考的是这个
>
mysql 数据库,更新字段语句:
一、UPDATE:
UPDATE的功能是更新表中的数据。这的语法和INSERT的第二种用法相似。必须提供表名以及SET表达式,在后面可以加WHERE以限制更新的记录范围。
UPDATE table_anem SET column_name1 = value1, column_name2 = value2,
WHERE 。
如下面的语句将users表中id等于123的记录的age改为24。
UPDATE users SET age = 24 WHERE id = 123。
bulk_insert_buffer_size参数相对增大------用于存放insert语句的缓存空间,增大可以提高insert的速度 对于insert频率较大的表,可以适当删除不常用的索引,可以减少对表索引维护的开销 在业务允许的情况下,也就是说不需要事物机制,建议用myis
能。
如果是免费版数据库的话,在使用期限内是可以进行更新的。免费版数据库的更新频率会比商业版数据库要低,而且可能只包含部分数据。
免费版数据库通常是指某个数据库厂商或者数据服务提供商提供的免费版本数据库产品,可以免费使用,但一般会有一些限制,如使用期限、数据量、功能等。
以上就是关于C# 数据库批量更新问题全部的内容,包括:C# 数据库批量更新问题、C#怎么快速批量更新数据库、MYSQL数据库 更新表数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)