magic_halli
Erfahrenes Mitglied
Hi,
wenn der User gewisse Sachen wählt und dann auf speichern klickt, sollen, bevor die Eintragung in die DB geschieht, diese gewählten Werte verglichen werden, ob diese in der DB schon vorhanden sind.
Hier ist mal mein Code:
Wenn ich eine Kombination wähle, die bereits in der DB steht, dann kann ich diese trotzdem nochmals eintragen, ohne dass die Nachricht erscheint. Wenn ich diese jetzt nochmals wähle, dann erst erscheint Label1 und es wird nicht gespeichert... Ich verstehe das nicht so ganz!
Es soll jede Auswahl sofort verglichen werden, bevor diese eingetragen wird, egal wo diese bereits in der Datenbanktabelle steht!
Was habe ich falsch gemacht?
Danke, Rico.
wenn der User gewisse Sachen wählt und dann auf speichern klickt, sollen, bevor die Eintragung in die DB geschieht, diese gewählten Werte verglichen werden, ob diese in der DB schon vorhanden sind.
Hier ist mal mein Code:
Code:
'hier sind die ID´s der gewählten Werte
idper = DropDownList1.SelectedItem.Value
idtag = DropDownList2.SelectedItem.Value
idzeit = DropDownList3.SelectedItem.Value
idzyk = DropDownList4.SelectedItem.Value
....
'Hier wird die entsprechende Table in ein DataRow gelesen
und die entsprechenden Werte ausgelesen
Dim dt_check As DataTable = ds_check.Tables("check")
Dim dr_check As DataRow
Dim idper_check, idtag_check, idzeit_check, idzyk_check As Integer
Dim check as Boolean
For Each dr_check In dt_check.Rows
idper_check = dr_check("IDper")
idzeit_check = dr_check("IDzeit")
idtag_check = dr_check("IDtag")
idzyk_check = dr_check("IDzyk")
If idper_check = idper And idzeit_check = idzeit And idtag_check = idtag And idzyk_check = idzyk Then
check=true
exit for
end if
Next
'Vergleich, ob schon vorhanden. Wenn ja, dann
Label1.Visible=True und nicht speichern
If check=true Then
Label1.Visible = True
Label1.Text = "Diese Eintragungen sind bereits vorhanden. Bitte wählen Sie andere Sperrzeiten."
Else
'dbo.mat_ver füllen
'hier kommt das INSERT-Commando für die Speicherung der Daten
...
Dim msgRet As Integer
msgRet = MsgBox("Ihre Daten wurden erfolgreich gespeichert. Möchten Sie weitere Eintragungen vornehmen? ", 131072 + MsgBoxStyle.YesNo, "Daten
gespeichert")
If msgRet = vbYes Then
Response.Redirect("sperre.aspx")
Else
Response.Redirect("eing_auswahl.aspx")
End If
End If
Wenn ich eine Kombination wähle, die bereits in der DB steht, dann kann ich diese trotzdem nochmals eintragen, ohne dass die Nachricht erscheint. Wenn ich diese jetzt nochmals wähle, dann erst erscheint Label1 und es wird nicht gespeichert... Ich verstehe das nicht so ganz!
Es soll jede Auswahl sofort verglichen werden, bevor diese eingetragen wird, egal wo diese bereits in der Datenbanktabelle steht!
Was habe ich falsch gemacht?
Danke, Rico.