2015-06-22 23 views
0

您好,我發現這個代碼片段在C#中添加值到MySQL命令C#的MySQL Parameters.AddWithValue

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

現在我想將數據添加到多個coloumn,但如果我嘗試這樣的:

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); 

它只是說,

無過載爲AddWithValue 52個參數。

我需要更改哪些代碼才能運行?

回答

1

您嘗試將所有52參數及其值與一個AddWithValue方法相加。你不能做到這一點。首先,你需要在你的命令中定義你所有的參數,並使用你的列名;

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

然後,您需要將所有52個參數添加到52個不同的AddWithValue方法中。

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

或者全部添加在一個MySqlParameterCollection與此集合添加到您的命令;

command.Parameters.Add(MyParameterCollection); 
+0

感謝,對工作我,tb mitarbeiter是一個複製錯誤,有一個tbprojects與coloums每個值 – SchMat

0

儘量只每AddWidthValue添加一個價值像

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

等。

斯文

0

你需要添加自己的

一個例子中,每個SQL paramater將你的情況

command.Parameters.AddWithValue("?id", Projektid); 

    command.Parameters.AddWithValue("?pr1ojektnummer", Projektnummer); 

最後調用

command.ExecuteNonQuery()