以上举例为oracle数据库,如果是mysql之类的数据库,语法可能会不同,自己上网上查询吧。
有一个办法,可能是你想要的。但是不保证一定能实现你的目的。在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()
sqlcon.ConnectionString = connectinString
using (SqlCommand sqlcommand = new SqlCommand(commandString, sqlcon))
{
if (sqlparam != null)
{ sqlcommand.Parameters.Add(sqlparam)}
SqlDataAdapter da = new SqlDataAdapter()
da.SelectCommand = sqlcommand
//DataSet ds = new DataSet()
//da.Fill(ds)
//ds.Tables[0].Merge(sourceDable, false)
SqlCommandBuilder sqlcommandbuilder = new SqlCommandBuilder(da)
return da.Update(sourceDable)
}
}
命令刷新SQL server 中 数据库:你提交正常的数据更新后,SQL server 中 数据库,也会自动更新,在你想刷新的时候,重新读取加载一次即可刷新,不需要你额外做什么。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)