Create Table (MSSQL) Error

Alfred_

Erfahrenes Mitglied
Hi,
ich darf vorausschicken, dass ich intensiv das Archiv durchforstet habe bevor ich mit meinem Problem um Hilfe ersuche.
Mit diesem String ist alles ok
Code:
Dim strSQL As String = _
    "USE stammdaten" & vbCrLf & _
    "CREATE TABLE tabelle1 (" & _
    "Datum datetime," & vbCrLf & _
    "K1 Tinyint," & _
    "K2 Tinyint," & _
    "K3 Tinyint," & _
    "K4 Tinyint," & _
    "K5 Tinyint," & _
    "TabID bigint NOT NULL IDENTITY (1,1), " & vbCrLf & _
    "Treffer nVarChar(1), " & _
    "Hit nVarChar(5), " & ")"
ABER: Wenn ich die ifExistsFunktion einbaue gibts eine Fehlermeldung.
Code:
   "USE stammdaten" & vbCrLf & _
    "IF EXISTS (" & _
    "SELECT * " & _
    "FROM stammdaten.dbo.sysobjects " & _
    "WHERE NAME 'Tabelle1' " & _
    "BEGINN " & vbCrLf & _
    "DROP TABLE stammdaten.dbo.tabelle1" & vbCrLf & _
    "END" & vbCrLf & _
    "CREATE TABLE tabelle1 (" & _
    "Datum datetime," & vbCrLf & _
    "K1 Tinyint," & _
    "K2 Tinyint," & _
    "K3 Tinyint," & _
    "K4 Tinyint," & _
    "K5 Tinyint," & _
    "TabID bigint NOT NULL IDENTITY (1,1), " & vbCrLf & _
    "Treffer nVarChar(1), " & _
    "Hit nVarChar(5), " & ")"
Was ist da falsch?
PS.: Ich beschäftige mich erst seit kurzem (zwangsweise) mit VB:NET und muss ein VB6 Prog. umschreiben.
Herzliche Grüße und danke.
Es fiel mir wie "Schuppen von den Augen"
1.Fehler:
Code:
"WHERE NAME 'Tabelle1' " & _
Code:
"WHERE NAME = 'Tabelle1' " & _
2. Fehler: BEGINN und END sind entbehrlich.
Grüße
 
Zuletzt bearbeitet:
Hi,

Auch wenn du den Fehler nun selbst gefunden hast, bitte poste beim nächsten mal die Fehlermeldung mit, das macht das Fischen im Trüben erheblich einfacher ;)

BEGIN und END brauchst du nicht zwangsweise, würde ich jedoch aufgrund der besseren Übersicht trotzdem verwenden. Vorausgesetzt dafür ist aber, dass du es richtig schreibst. (nur ein N ;))

Und bitte setzt den Thread auf "Erledigt" (Der Button neben "Antworten"), danke
 
Hi,
Deine Tipps sind nachvollziehbar.
Der Fehler wurde von
Code:
cmd.ExecuteNonQuery()
ausgelöst.
Die MsgBox enthält etwa 25 Zeilen was ziemlich aufwendig zu schreiben gewesen wäre. Ich hoffe Du kennst diese Standardmeldung.
Ansonsten bin ich bei Postings etwas aus der Übung, weshalb ich um Nachsicht ersuche.
Grüße
 
Zurück