Benutzer mit den meisten Antworten
SQL Prozeduren und Funktionen erstellen | VB

Frage
-
Hallo,
ich benötige eure Hilfe. Ich versuche im momen 4 Funktionen zu schreiben, aber weiss nicht wie ich anfangen soll. Ich bin relativ neu in SQL, habe mir die Basics angeeignet.
Ich habe ein VB programm über das ich Daten in die DB hinzufügen will, ändern will und auch löschen möchte. Auch brauch ich eine Funktion die automatisch eine ID erstellt sobald der INSERT durchgeführt wurde für die jewilige Tabelle und Reihe.
Ich habe schon etwas im Internet geschaut, aber finde einfach keine gute Hilfe wie ich in SQL jetzt solch eine Funktion (zb. Update) über VB aufrufe und somit der Eintrag, vpn VB in SQL übernommen wird.
zb.
Max Mustermann (Vorname, Name (SQL Zellen in der Tablle Personen)) --> Datagridview in VB die die jeweilig geladene Tabelle anzeigt, ich dort in den felder den Vorname änder zu Moritz, auf den Button Update drücke und in meine DB der Eintrag so gespeichert wird --> Moritz Mustermann (Vorname, Name).
Ich hoffe das mir jemand helfen kann bzw mir vll eine herangehensweise erklärt.
Vielen Dank
Patrick
Antworten
-
............
Aber wie man in SQL eine Funktion erstellt ist mir im moment noch schleierhaft.
............
Hallo Patrick,
im Management-Studio gibt es unter MENUE->Ansicht einen Vorlagen-Explorer, der zeigt wie es geht. Ich vermute aber der kompliziertere Teil liegt zwischen BEGIN und END einer Funktion/Prozedure. Wie hier schon geschrieben, es gibt Unterschiede, was man mit einer Proc oder Func machen kann. Für einfache Insert-, Update- oder Delete-Befehle braucht man so etwas nicht.
Es sind zwei völlig unterschiedliche Problemkreise. Der eine, wie muss Dein VB-Code aussehen, damit Deine Befehle an den SQL-Server übergeben werden und Du die Egebnisse auslesen kannst. Der andere wie muss der Befehl für den SQL-Server aussehen. Oder anders gesagt, wenn im Management-Studio im Abfrage-Fenster ein Befehl das erwünschte Ergebnis bringt, dann must Du bloss noch klären wie Du beim Client den Befehl/die Befehle als String zusammenbauen kannst und ihn dem SQL-Server übergibst.
Gruss Uli
- Als Antwort markiert LandsHeer Mittwoch, 13. November 2013 14:14
Alle Antworten
-
Hallo Patrick,
ich weiss nicht ob ich Dich richtig verstanden habe. Wenn die Frage lautet wie kann ich aus VB heraus einen SQL-Server ansprechen kann ich Dir nicht helfen. Ich vermute dann ist dies auch nicht das richtige Forum. Wenn die Frage lautet, welche Befehle muss ich dem SQL-Server übergeben um o.g. Aufgaben zu lösen und wie ist deren Synthax dann bist Du hier richtig. Das mit dem eindeutigen Ident ist ganz einfach zu lösen. Du fügst zu einer Tabelle eine Ident-Collumn hinzu, entsprechende Rechte vorausgesetzt.
entweder beim Anlegen der Tabelle
CREATE TABLE [dbo].[mytable](.......,.........., [myident] [int] IDENTITY(1,1) NOT NULL)
oder bei einer existierenden Tabelle
ALTER TABLE [dbo].[mytable] ADD [myident] [int] IDENTITY(1,1) NOT NULL
Die Befehle zum anlegen, ändern und löschen von DS müssten so aussehen
INSERT INTO mytable (feld1,feld1,......)VALUES(wert1,wert2,....)
UPDATE mytable SET feld1=wert1, feld2=wert2,.... WHERE myident = myidentwert
DELETE FROM mytable WHERE myident = myidentwert
Zum SQL-Server gibt es ein Management-Studio ich empfehle Dir damit einmal etwas herum zuspielen auch gibt es eine Online-Hilfe zum SQL-Server, die Dir die Details erläutert.
Gruss Uli
- Bearbeitet Uli Münch Donnerstag, 7. November 2013 06:54
-
Vielen Dank für deine Hilfe Uli,
Ja ich mein eher letzteres :).
Das Management Studio hab ich schon, lässt sich gut damit arbeiten.
Wie kann ich eine Funktion erstellen mit den Befehlen da drinne, sodass ich über VB eine Call funktion schreibe die die SQL funktion aufruft um zum beispiel Daten von VB in die SQL DB zu packen. Wie das in VB gehandelt wird find ich schon heraus denke ich, das ist soweit ich weiss nur ein "Ein-Zeiler".
Aber wie man in SQL eine Funktion erstellt ist mir im moment noch schleierhaft.
Soweit ich weiss:
CREATE FUNCTION function_name (zb. "InsertFunction")
INSERT INTO mytable (feld1,feld1,......)VALUES(wert1,wert2,....)
END
oder wie genau geht das ?
Vielen Dank schonmal
Gruss Patrick
-
Hallo Patrick,
ich glaube nicht, das Du mit den SQL-Funktionen weiter kommst. Vielmehr vermute ich das Du die entsprechenden SQL-Befehle bereits in VB zusammen bauen mußt und dies ist bestimmt auch nicht mit einem "Ein-Zeiler" getan.
Schau Dir bitte mal folgenden Link an, dort ist beschrieben wie aus VB heraus die Verbindung zur DB aufgebaut wird und wie die entsprechenden Kommandos abgesetz werden müssen.
Galileo Computing - Einstieg in VB 2010
-
............
Aber wie man in SQL eine Funktion erstellt ist mir im moment noch schleierhaft.
............
Hallo Patrick,
im Management-Studio gibt es unter MENUE->Ansicht einen Vorlagen-Explorer, der zeigt wie es geht. Ich vermute aber der kompliziertere Teil liegt zwischen BEGIN und END einer Funktion/Prozedure. Wie hier schon geschrieben, es gibt Unterschiede, was man mit einer Proc oder Func machen kann. Für einfache Insert-, Update- oder Delete-Befehle braucht man so etwas nicht.
Es sind zwei völlig unterschiedliche Problemkreise. Der eine, wie muss Dein VB-Code aussehen, damit Deine Befehle an den SQL-Server übergeben werden und Du die Egebnisse auslesen kannst. Der andere wie muss der Befehl für den SQL-Server aussehen. Oder anders gesagt, wenn im Management-Studio im Abfrage-Fenster ein Befehl das erwünschte Ergebnis bringt, dann must Du bloss noch klären wie Du beim Client den Befehl/die Befehle als String zusammenbauen kannst und ihn dem SQL-Server übergibst.
Gruss Uli
- Als Antwort markiert LandsHeer Mittwoch, 13. November 2013 14:14
-
Hallo Patrick,
Hast Du noch Fragen? Bist DU hier inzwischen weitergekommen?
Gruss,
Ionut
Ionut Duma, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.