2016-04-28 14 views
1

Ich konnte das nicht herausfinden: Ich möchte eine Zeile in einer Tabelle hinzufügen-a und 3 Spalten dieser Zeile kommt aus Tabelle-b und andere 2 Spalten kommen von zB area per ... Dieser Code hat nicht funktioniert ...Kombinieren von 2 einfügen in einem Befehl

SqlCommand cmd35 = new SqlCommand("INSERT INTO BTmr (Barcode,[Machine Name],[Machine ID]) SELECT Barcode,[Machine Name],[Machine ID] FROM BkmP WHERE barcode like '" + c13 + "%' UNION INSERT INTO BTmr([Repair Cost],[Repair Date],Barcode)values (@cst,@rprd)", connection); 

      cmd35.Parameters.AddWithValue("@cst", textBox10.Text); 
      cmd35.Parameters.AddWithValue("@rprd", dateTimePicker1.Text); 
+0

die Spalten aus der Tabelle-b auswählen, bevor tabellen ein Putting und Sie werden alle Werte in haben Eingang für Tabellen- zu sein ein. – randominstanceOfLivingThing

+0

Ihre Auswahl sollte außerhalb der INSERT-Anweisung ausgeführt werden, damit Sie die Spaltenwerte in Variablen lesen können. – randominstanceOfLivingThing

Antwort

0

einfach die Parameter setzen als statische Werte in der select-Anweisung.

SqlCommand cmd35 = new SqlCommand("INSERT INTO BTmr (Barcode,[Machine Name], 
    [Machine ID],[Repair Cost],[Repair Date]) SELECT Barcode,[Machine Name], 
    [Machine ID],@cst AS [Repair Cost],@rprd AS [Repair Date] FROM BkmP WHERE 
    barcode like '" + c13 + "%', connection); 

cmd35.Parameters.AddWithValue("@cst", textBox10.Text); 
cmd35.Parameters.AddWithValue("@rprd", dateTimePicker1.Text); 

Während your're es, parametrieren, dass where-Klausel: https://stackoverflow.com/a/251380/123422

+0

Vielen Dank, es hat funktioniert ... –

Verwandte Themen