2016-04-25 9 views
0

mit einigen Schwierigkeiten herauszufinden, was den Fehler verursacht. Ich habe den Code, den Fehler und das, was ich sehe, wenn ich auf die Registerkarte Tabellenname-Einschränkung schaue, eingefügt. Ich habe online gesucht und Vorschläge versucht, aber nichts hat funktioniert. Ich bin mir nicht sicher, was ich falsch mache, also hoffentlich kann mir jemand helfen oder mich in die richtige Richtung lenken. Vielen Dank.Einschränkung verletzt?

enter image description here

 STSQL = "insert into mpcs.shop_inv_orders" 
     STSQL = STSQL & " (" 
     STSQL = STSQL & "ORDER_ID," 
     STSQL = STSQL & "ORDER_ITEM_NO," 
     STSQL = STSQL & "INV_TYPE," 
     STSQL = STSQL & "MTI_PART_NO," 
     STSQL = STSQL & "DATE_ORDERED," 
     STSQL = STSQL & "DATE_REQUIRED," 
     STSQL = STSQL & "QUANTITY," 
     STSQL = STSQL & "EMPLOYEE_ID," 
     STSQL = STSQL & "MACHINE_ID," 
     STSQL = STSQL & "COMMENTS," 
     STSQL = STSQL & "JOB_NO," 
     STSQL = STSQL & "PROCESS_PLAN_ID," 
     'STSQL = STSQL & "ACCOUNT_NO" 
     STSQL = STSQL & "DESTINATION," 
     STSQL = STSQL & "COMPLETED," 
     STSQL = STSQL & "REQUEST_NO" 
     STSQL = STSQL & ") values (" 

     STSQL = STSQL & "'" & UCase(varOrderID) & "'," 'ORDER_ID 
     STSQL = STSQL & "'" & UCase(Item) & "'," 'ORDER_ITEM_NO 
     STSQL = STSQL & "'" & UCase(InvType) & "'," 'INV_TYPE 
     STSQL = STSQL & "'" & UCase(Mtipartno) & "'," 'MTI_PART_NO 

     STSQL = STSQL & "to_date(to_char(sysdate,'DD-MON-YYYY HH:MI:SS PM'),'DD-MON-YYYY HH:MI:SS PM')," 'DATE_ORDERED 
     STSQL = STSQL & "to_date('" & Format(dateneed.Value, "dd-MMMM-yyyy") & "','DD-MON-YYYY')," 'DATE_REQUIRED 

     STSQL = STSQL & "'" & UCase(Quantity) & "'," 'QUANTITY 
     STSQL = STSQL & "'" & UCase(cboEmployee.SelectedValue) & "'," 'EMPLOYEE_ID 
     STSQL = STSQL & "'" & UCase(MachID) & "'," 'MACHINE_ID 
     STSQL = STSQL & "'" & UCase(TextBox2.Text) & "'," 'COMMENTS 
     STSQL = STSQL & "'" & UCase(Jobno) & "'," 'JOB_NO 
     STSQL = STSQL & "'" & UCase(ProcPlanID) & "'," 'PROCESS_PLAN_ID 
     'STSQL = STSQL & "'" & UCase(AcctNo) & "'," 'ACCOUNT_NO 
     STSQL = STSQL & "'" & UCase(ComboBox2.SelectedText) & "'," 'DESTINATION 
     STSQL = STSQL & "'" & 0 & "'," 'COMPLETED 
     STSQL = STSQL & "'" & UCase(ReqNo) & "'" 'REQUEST_NO 
     STSQL = STSQL & ")" 

enter image description here

+1

Sie versuchen, eine ORDER_ID einzufügen, die bereits in Ihrer Tabelle vorhanden ist. – jarlh

+0

Ich schaute und es nicht. Ich benutzte das nächste verfügbare. – Lee

+0

Nein, Sie versuchen auf jeden Fall dasselbe einzufügen (ORDER_ID + ORDER_ITEM_NO Combo). Das kann bedeuten, dass Ihr Algorithmus für die nächste Nummer nicht mehr funktioniert oder dass Sie in einem gleichzeitigen Szenario ausgeführt werden, in dem mehrere Benutzer gleichzeitig Aufträge hinzufügen oder Sie sich in einer Transaktionsisolationsstufe befinden, in der laufende Aufträge ausgeblendet werden von Ihrer Anfrage, oder dass jemand eine Auftrags-ID außerhalb der Reihenfolge hinzugefügt hat, oder ... Sehen Sie sich Ihre Daten an. Sehen Sie sich den Schlüssel an, den Sie einfügen möchten. Habe eine Offenbarung. – Luaan

Antwort

0

diese versuchen, ist Order_Id Primärschlüssel kann also nicht manuell hinzufügen,

STSQL = "insert into mpcs.shop_inv_orders" 
STSQL = STSQL & " ("   
STSQL = STSQL & "ORDER_ITEM_NO," 
STSQL = STSQL & "INV_TYPE," 
STSQL = STSQL & "MTI_PART_NO," 
STSQL = STSQL & "DATE_ORDERED," 
STSQL = STSQL & "DATE_REQUIRED," 
STSQL = STSQL & "QUANTITY," 
STSQL = STSQL & "EMPLOYEE_ID," 
STSQL = STSQL & "MACHINE_ID," 
STSQL = STSQL & "COMMENTS," 
STSQL = STSQL & "JOB_NO," 
STSQL = STSQL & "PROCESS_PLAN_ID," 
'STSQL = STSQL & "ACCOUNT_NO" 
STSQL = STSQL & "DESTINATION," 
STSQL = STSQL & "COMPLETED," 
STSQL = STSQL & "REQUEST_NO" 
STSQL = STSQL & ") values (" 

STSQL = STSQL & "'" & UCase(Item) & "'," 'ORDER_ITEM_NO 
STSQL = STSQL & "'" & UCase(InvType) & "'," 'INV_TYPE 
STSQL = STSQL & "'" & UCase(Mtipartno) & "'," 'MTI_PART_NO 

STSQL = STSQL & "to_date(to_char(sysdate,'DD-MON-YYYY HH:MI:SS PM'),'DD-MON-YYYY HH:MI:SS PM')," 'DATE_ORDERED 
STSQL = STSQL & "to_date('" & Format(dateneed.Value, "dd-MMMM-yyyy") & "','DD-MON-YYYY')," 'DATE_REQUIRED 

STSQL = STSQL & "'" & UCase(Quantity) & "'," 'QUANTITY 
STSQL = STSQL & "'" & UCase(cboEmployee.SelectedValue) & "'," 'EMPLOYEE_ID 
STSQL = STSQL & "'" & UCase(MachID) & "'," 'MACHINE_ID 
STSQL = STSQL & "'" & UCase(TextBox2.Text) & "'," 'COMMENTS 
STSQL = STSQL & "'" & UCase(Jobno) & "'," 'JOB_NO 
STSQL = STSQL & "'" & UCase(ProcPlanID) & "'," 'PROCESS_PLAN_ID 
'STSQL = STSQL & "'" & UCase(AcctNo) & "'," 'ACCOUNT_NO 
STSQL = STSQL & "'" & UCase(ComboBox2.SelectedText) & "'," 'DESTINATION 
STSQL = STSQL & "'" & 0 & "'," 'COMPLETED 
STSQL = STSQL & "'" & UCase(ReqNo) & "'" 'REQUEST_NO 
+0

Ich bekomme den Fehler, dass ich 'NULL nicht in ORDER_ID' einfügen kann, damit ich es liefern soll. Ich füge die nächste verfügbare order_id ein, die nicht verwendet wird. – Lee

+0

verwenden Sie MS ACCESS? –

+0

Nein, das ist Orakel. – Lee

0

Es stellte sich heraus ich die falsche Datenbank zu arbeiten gegeben wurde. Ich habe 2 verschiedene Quellen angesehen. Also hatten alle recht. Danke für die Hilfe von allen, es hat dazu geführt, dass ich an anderen Orten herumgestochert bin, um das zu entdecken.

+0

Gut zu wissen, dass Sie das Problem behoben, aber Sie sollten auch lesen, wie man vorbereitet vorbereitet Anweisungen unter Verwendung von Parametern und dergleichen. Ihre Art, SQL zu erstellen, ist anfällig für bösartige Angriffe, Datenprobleme und Leistungsprobleme. – LoztInSpace

Verwandte Themen