C# MySQLParameters.AddWithValue

标签 c# mysql

您好,我发现了这个在 C# 中向 MySQL 命令添加值的代码片段

MySqlCommand command = connection.CreateCommand();
command.CommandText = "INSERT INTO tb_mitarbeiter (Vorname) VALUES (?name)";
command.Parameters.AddWithValue("?name", mitarbeiter);
connection.Open();
command.ExecuteNonQuery();

现在我想将数据添加到多个列,但如果我像这样尝试:

command.Parameters.AddWithValue("?id", Projektid, "?projektnummer", Projektnummer, "?anlageDatumProjekt", Projektanlage, "?auftraggeberProjekt",Projektauftraggeber, "?bezeichnungProjekt", Projektbezeichnung, "?nachAufwand", nachAufwand, "?bemerkungProjekt",Projektbemerkung, "?matFremdKalk", matfremdkalk, "?maStundenKalk",mastundenkalk, "?maKostenKalk", makostenkalk, "?maZuschlagFixKalk", mazuschlagfixkalk, "?maZuschlagVarKalk",mazuschlagvarkalk, "?maschStundenKalk",maschstundenkalk, "?maschKostenKalk",maschkostenkalk, "?maschZuschlagFixKalk",maschzuschlagfixkalk, "?maschZuschlagVarKalk",maschzuschlagvarkalk, "?summeAuftragKalk",summeauftragkalk, "?matFremdErfasst",matfremderfasst, "?maStundenerfasst",mastundenerfasst, "?maSelbstkostenErfasst",maselbstkostenerfasst, "?maschStundenErfasst",maschstundenerfasst, "?maschKostenVariabelErfasst",maschkostenvariabelerfasst, "?maschKostenFixErfasst",maschkostenfixerfasst, "?gemeinKostenBerechnet",gemeinkostenberechnet, "?abschlagRechnungErfasst",abschlagrechnungerfasst, "?rabatt", rabatt);

它只是说

No Overload for AddWithValue with 52 Arguments.

我需要更改什么才能使代码运行?

最佳答案

您尝试使用 one AddWithValue 方法添加所有 52 个参数及其值。你不能这样做。

首先,您需要使用列名称定义命令中的所有参数,例如;

command.CommandText = "INSERT INTO tb_mitarbeiter (Vorname, id, projectnummber....) VALUES (?name, ?id, ?projektnummer....)";

然后,您需要在 52 个不同的 AddWithValue 方法中添加所有 52 个参数。

command.Parameters.AddWithValue("?name", mitarbeiter);
command.Parameters.AddWithValue("?id", Projektid);
command.Parameters.AddWithValue("?projektnummer", Projektnummer);
...
...

或者将它们全部添加到一个 MySqlParameterCollection 中,然后将此集合添加到您的命令中:

command.Parameters.Add(MyParameterCollection);

关于C# MySQLParameters.AddWithValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30979765/

相关文章:

php - 将 MySQL .sql 文件转换为 MS Access 数据库

php - Codeigniter 将查询加载到数组中

c# - 在 C# 中读取 Excel 2007 文件 (.xlsx)

c# - 我没有解决的类型的 Unity 注册错误

c# - 如何使 T 类型的字段成为 volatile 的?

mysql - 如何更新一系列行号的列?

MySQL错误: The used SELECT statements have a different number of columns

mySQL长查询锁超时异常

c# - 使用 is 运算符比较两个字符串

c# - 为什么 Html.Checkbox ("Visible") 在 ASP.NET MVC 2 中返回 "true, false"?