使用带参数的 SqlDataAdapter.Update()

     2023-05-08     189

关键词:

【中文标题】使用带参数的 SqlDataAdapter.Update()【英文标题】:Using SqlDataAdapter.Update() with Parameters 【发布时间】:2011-08-26 14:20:32 【问题描述】:

如何尝试通过参数化查询找出如何使用 SqlDataAdapter.Update(DataTable) 方法。如何在不遍历整个 DataTable 的情况下将值添加到命令中?

如何在事务中执行 SqlDataAdapter 插入和更新方法?

到目前为止,我有以下内容:

internal void InsertUpdate(DataTable dt)
    using(var con = new SqlConnection(ConnectionString))
         var sb = new StringBuilder();
         sb.AppendLine("UPDATE myTable");
         sb.AppendLine("SET prop1 = @p1, prop2 = qp2");
         sb.AppendLine("WHERE id = @id");
         var cmd = new SqlCommand(sb.ToString());
         cmd.Parameters.AddWithValue("p1", ????);
         cmd.Parameters.AddWithValue("p2", ????);
         cmd.Parameters.AddWithValue("id", ????);
         var adapter = new SqlDataAdapter(selectQuery, con);
         adapter.UpdateCommand = cmd;
         adapter.Update(dt);
    

最好的问候

【问题讨论】:

【参考方案1】:

不要使用 Parameters.AddWithValue(...),而是使用 Parameters.Add(new SqlParameter(...)) 并在此处使用 SqlParameter 文档的最后三个构造函数之一:SqlParameter Class MSDN documentation。它们允许您指定将在运行时用于填充参数的列。例如,这是我当前的一个程序中的一行:

UpdateCommand.Parameters.Add(new OleDbParameter("FK_CustomerID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "FK_CustomerID", global::System.Data.DataRowVersion.Current, false, null));

注意“FK_CustomerID”的第二次使用,表示将这个DataTable列用于参数。

关于使用事务,看看这个以获得一些想法:Transactions with TableAdapters, a lazy man's approach。 问候,德鲁

【讨论】:

使用带参数的方法引用

】使用带参数的方法引用【英文标题】:Usemethodreferencewithparameter【发布时间】:2015-07-0208:14:16【问题描述】:我刚开始学习Java流,遇到了一个问题。请看以下示例。这是Node类的一部分:privateMap<String,Node>nodes;publicOptional<N... 查看详情

使用带参数的 SqlDataAdapter.Update()

】使用带参数的SqlDataAdapter.Update()【英文标题】:UsingSqlDataAdapter.Update()withParameters【发布时间】:2011-08-2614:20:32【问题描述】:如何尝试通过参数化查询找出如何使用SqlDataAdapter.Update(DataTable)方法。如何在不遍历整个DataTable的情... 查看详情

使用带参数的重新选择选择器

】使用带参数的重新选择选择器【英文标题】:Usereselectselectorwithparameters【发布时间】:2017-03-1012:28:56【问题描述】:如何将附加参数传递给组合选择器?我正在尝试•获取数据•过滤数据•将自定义值添加到我的数据集/按myVal... 查看详情

无法使用 alamofire 4 上传带参数的图像?

】无法使用alamofire4上传带参数的图像?【英文标题】:Unabletouploadimagewithparametersusingalamofire4?【发布时间】:2017-04-0420:35:52【问题描述】:在使用alamofire4上传带有参数的图像时,得到以下结果:Alamofire.DefaultDataResponse(request:url,res... 查看详情

使用选择器调用带参数的函数[重复]

】使用选择器调用带参数的函数[重复]【英文标题】:Useselectortocallfunctionwithparameters[duplicate]【发布时间】:2018-01-0419:35:18【问题描述】:我的Swift代码如下所示:classSystemClasspublicinit()funcsetXYZ(xyz:Float32)//dosomethingletcallME:class=class()... 查看详情

如何使用带参数的事件处理程序?

】如何使用带参数的事件处理程序?【英文标题】:Howdoyouuseeventhandlerswithparameters?【发布时间】:2010-10-0805:53:58【问题描述】:我正试图弄清楚这些事件是如何运作的。在iTunesU上斯坦福课程的视频4中,AlanCannistraro说有“三种不... 查看详情

带输入参数的命名查询

...ameter【发布时间】:2016-10-2105:41:51【问题描述】:我正在使用Hibernate学习JPA,也使用maven。我的问题是如何在命名查询中使用带有UPDATE和SET子句的输入参数?@NamedQuery(name="updateEmailAddress",query="UpdateUserusetu.email=:emailwhere 查看详情

OVH JAVA API 使用带参数的 Get 请求

】OVHJAVAAPI使用带参数的Get请求【英文标题】:OVHJAVAAPIusingGetrequestwithparameters【发布时间】:2019-10-0106:05:35【问题描述】:我正在尝试使用官方JAVA包装器OVHjavawrapper创建一个Web界面以与OVH的电话APIovhtelephonyapi进行交互。我正在尝... 查看详情

使用 PHP 运行带参数的 Python 函数

】使用PHP运行带参数的Python函数【英文标题】:RunPythonfunctionwithargumentsusingPHP【发布时间】:2021-11-0819:21:54【问题描述】:我的目标是通过单击HTML(PHP)按钮运行具有不同参数的不同Python函数。当我在终端中执行命令时,一切正常... 查看详情

使用 nohup 运行带参数的 shell 脚本

】使用nohup运行带参数的shell脚本【英文标题】:Runshellscriptwithargumentsusingnohup【发布时间】:2013-08-1006:21:18【问题描述】:我需要远程登录到服务器并使用nohup在后台运行带有参数的shell脚本。但我收到一个错误。我在语法上遗漏... 查看详情

如何使用 NestJS 创建带参数的嵌套路由

】如何使用NestJS创建带参数的嵌套路由【英文标题】:HowtocreatenestedrouteswithparametersusingNestJS【发布时间】:2018-10-3012:40:36【问题描述】:我需要构建一个API,其中大多数路由都以一个公共URL部分为前缀,该部分也有一个参数。在... 查看详情

对函数和方法使用相同的装饰器(带参数)

】对函数和方法使用相同的装饰器(带参数)【英文标题】:Usingthesamedecorator(witharguments)withfunctionsandmethods【发布时间】:2010-11-2006:49:08【问题描述】:我一直在尝试创建一个可以与python中的函数和方法一起使用的装饰器。这本... 查看详情

在 JAVA 中使用带预处理语句参数的符号

】在JAVA中使用带预处理语句参数的符号【英文标题】:UsingSymbolswithPreparedStatementparametersinJAVA【发布时间】:2017-06-1320:18:52【问题描述】:如何在下面代码的参数中使用%?如果我只是在没有rset.setString()的查询中直接使用它,它... 查看详情

如何使用带参数的函数作为事件处理程序?

】如何使用带参数的函数作为事件处理程序?【英文标题】:Howtousefunctionswithparametersaseventhandlers?【发布时间】:2013-06-0418:44:13【问题描述】:我正在使用Blend(我对它非常陌生)来创建XAML。我有一行代码调用下面的函数writeC:&... 查看详情

在 Hibernate 中使用 @Query 进行带参数的本机查询

】在Hibernate中使用@Query进行带参数的本机查询【英文标题】:Nativequerywithparametersusing@QueryinHibernate【发布时间】:2019-02-2203:08:57【问题描述】:我正在尝试使用名为F0001的序列对MariaDb10.3的@Query方法进行参数化在thistutorial,第5.2节... 查看详情

使用jquery-form的formdata上传文件带参数

参考技术Ahtml示例内容如下:直接使用FormData提交文件的话,不带参数可以用下面的方法:FormData的数据会自动组织成multipart/form-data形式的,因此不需要JQuery进行转化了,因此contentType,processData为false。但是上面这种方法不适合带... 查看详情

在 Python 中使用字典调用带参数的函数

】在Python中使用字典调用带参数的函数【英文标题】:CallingfunctionswithparametersusingadictionaryinPython【发布时间】:2014-08-2604:31:12【问题描述】:我正在制作一个程序,它有一个主菜单,要求用户输入一个选项并将其存储在整数option... 查看详情

如何在刀片 Laravel 中使用带参数的 url

】如何在刀片Laravel中使用带参数的url【英文标题】:HowtouseurlwithparameterinbladeLaravel【发布时间】:2017-11-0800:56:27【问题描述】:我尝试在我的master.blade.php中为不同的页面使用不同的样式表。当我使用简单的路线时,它可以工作... 查看详情