Toon posts:

[.NET/SQL] Update commando werk niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
'k ben een klein administratie programma'tje aan het maken voor mezelf. En nou wil ik dus de mogelijkheid bieden om de data die al ingevoerd is te veranderen, te updaten dus.

'k maak gebruik van Visual Studio .NET en ik schrijf in C#. Op het moment dat ik een SqlDataAdapter op m'n Windows Form gooi krijg ik een wizard waarmee ik 4 SQL statementen kan maken voor Select, Insert, Delete en Update. VS.NET heeft toen de volgende query voor mij gemaakt:
code:
1
2
3
4
5
6
7
UPDATE    Workers
SET       WorkerID = @WorkerID, Name = @Name, TelNumber = @TelNumber, EMail = @EMail
WHERE     (WorkerID = @Original_WorkerID) AND (EMail = @Original_EMail OR
                @Original_EMail IS NULL AND EMail IS NULL) AND (Name = @Original_Name) AND (TelNumber = @Original_TelNumber);
                  SELECT     WorkerID, Name, TelNumber, EMail
                   FROM    Workers
                   WHERE     (WorkerID = @WorkerID)

De dingen met @'tjes zijn paramaters die ik kan invoeren door sqlInsertWorker(zo heet m'n SQL command).Parameters(<nummer van de parameter>).Value = <waarde> te doen. Het lijstje met parameters is het volgende:
code:
1
2
3
4
5
6
7
8
0 @WorkerID
1 @Name
2 @TelNumber
3 @EMail
4 @Original_WorkerID
5 @Original_EMail
6 @Original_Name
7 @Original_TelNumber

Als ik nu alleen parameters 0 t/m 3 opgeef dan krijg ik een error, namelijk dat parameter 4 ook verplicht is. Dus als ik dan parameter 4 ook opgeef krijg ik weer een foutmelding dat parameter 5 ook verplicht is, en zo verder totdat ik alle parameters heb ingevuld. Nou kan ik mij opzich wel voorstellen dat ik alles moet invullen, maar als ik dat dan gedaan heb dan update hij helemaal niets in m'n database. Ik krijg ook geen foutmelding of zo, maar er is niets veranderd. Dat is natuurlijk niet helemaal de bedoeling. Iemand een idee wat ik precies moet doen om dit werkend te krijgen?

Verwijderd

Topicstarter
Hmmz, okeej, laat maar.
VS.NET had een andere volgorde genomen voor de original velden dan voor de nieuwe velden. Daardoor werkte het dus net. Lekker handig weer.