meiseed
Goto Top

Beim Drücken von einem Button soll in der MSSQL DB überprüft werden ob Daten vorhanden

Hi @ all


Ich hab ein kleines Project bei dem ein freund mir die MSSQL DB programmirt hat und ich will die jetzt in web stellen mit asp ( code VB).
Er hat mir bei Programmierbarkeit / Gespeicherte Proceduren ein paar Befehle programmirt und jetzt will ich wissen wie ich es mache das in der ansicht 3 TextFelder hab und wenn ich die ausgefüllt habe und dann auf den weiter Button klicke es in der DB überprüft wird ob die eingegebene werte stimmen damit ich dann auf die andere seite gelangen kann und wenn die nicht stimmen dann bekomme ich eine fehler meldung

danke im voraus

gruß MeiSeed

Content-Key: 66925

Url: https://administrator.de/contentid/66925

Printed on: April 26, 2024 at 08:04 o'clock

Member: SvenGuenter
SvenGuenter Aug 23, 2007 at 12:31:05 (UTC)
Goto Top
Hallo MeiSeed

also nun erstmal dein posting auseinander nehmen. Problem ist, dass es in einem echt schlechten Deutsch geschrieben wurde. Beim nächsten mal vorher nochmal durchlesen


schnippel
Ich hab ein kleines Project bei dem ein freund mir die MSSQL DB programmirt hat und ich will die jetzt in web stellen mit asp ( code VB).
Schnippel

Willst du die DB ins Internet stellen bei deinem Provider oder willst du die weiter lokal bei dir laufen lassen und dann per DYNDNS darauf zugreifen?

Schnippel
Er hat mir bei Programmierbarkeit / Gespeicherte Proceduren ein paar Befehle programmirt und jetzt will ich wissen wie ich es mache das in der ansicht 3 TextFelder hab und wenn ich die
Schnippel
Einfachster Weg ist das du mit einem Rückgabewert in den Prozeduren arbeotest. Das wenn der INSERT in ordnung war eine 1 z.B zurückgegeben wird ansonsten eine 0

Schnippel
ausgefüllt habe und dann auf den weiter Button klicke es in der DB überprüft wird ob die eingegebene werte stimmen damit ich dann auf die andere seite gelangen kann und wenn die nicht stimmen dann bekomme ich eine fehler meldung
Schnippel

Gleiche Vorgehensweise wie oben.

Gruß

Sven
Member: MeiSeed
MeiSeed Aug 23, 2007 at 12:59:55 (UTC)
Goto Top
Danke für die schnelle Antwort

werd mir beim nächsten mal mehr Zeit nehmen für das was ich schreibe.

zu Schnippsel 1
Erst mal Lokal und dann wenn alles rund leuft ins Internet stellen ohne DYNDNS.

zu Schnippsel 2
Und wie mach ich das ich eine 1 oder 0 zurück bekomme nach dem ich den Weiter Button gedrückt habe.

Der Button ist ja mit der zweiten Seite verlinkt und wenn ich auf in klicke geh ich ja auf die zweite Seite aber die Textfelder werden dann leider nicht in der DB überprüft.
Member: SvenGuenter
SvenGuenter Aug 23, 2007 at 13:22:18 (UTC)
Goto Top
Ok dann also mal ans Problem herantasten.

Du hast 3 Felder in denen Werte stehen. Sehe ich das richtig? Wenn du dann auf weiter klickst und die nächste Seite aufgerufen wird, willst du wissen ob diese Werte in die Datenbank geschrieben wurden! Ist das so korrekt?
Member: MeiSeed
MeiSeed Aug 23, 2007 at 13:40:45 (UTC)
Goto Top
Nicht ganz

Es werden alle drei werte von irgent jemandem eingetragen

Zwei der Werte werden nur überprüft ( z.b. wie bei einem login name und passwort)

Der dritte wert muss in der DB dann Neu angelegt werden.

Und wenn alle drei erfolgreich waren, erst dann soll man zu der zeiten seite gelangen.
Member: SvenGuenter
SvenGuenter Aug 23, 2007 at 13:50:35 (UTC)
Goto Top
ok das habe ich nun verstanden. Ich mache gleich Feierabend aber ich werde dann heute abend mal was coden.

Der Ablauf ist also folgender

1)3 Felder sind da
2)2 Felder sind gefüllt
2.1)prüfen ob die beiden Felder Konsistent sind ( Daten stehen in der DB )
3) 3. Feld Wegschreiben
3.1) Nachschauen ob der Wert aus dem 3. Feld in der DB steht
4.) 2. Seite aufmachen
Member: MeiSeed
MeiSeed Aug 24, 2007 at 06:40:55 (UTC)
Goto Top
OOPS ich hab da was selber falsch verstanden die drei Textfeld werden alle in die DB eingetragen


und ich hab dir mal einen auszug aus der Gespeicherten Systemprozedur gemacht die sieht so aus


[code]
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


-- =============================================
-- Web-Schnittstelle: Erzeuge einen initialien Ist-Datensatz
-- Returns: BAPid,Fehler
-- 2007-07-05 Kommentare
-- 2007-06-19 JM created
-- 2007-08-22 JM Password als Parameter
-- =============================================
ALTER PROCEDURE [dbo].[webIstBAP_start]
@esari nvarchar(64),
@techniker nvarchar(50),
@132895 nvarchar(50)
AS
BEGIN
declare @dt as datetime
declare @bapid as int

SET NOCOUNT ON;
set @dt = getdate()
-- suche ein Gerät
if (select count(*) from Daten where ESARIid = @esari) = 1 begin
-- nur ein Gerät mit dieser ESARIid
INSERT INTO IstBAP
(Kunde, Abteilung, Strasse, Etage, Raum, Installationsdatum, Techniker, Status)
SELECT Kunde, Abteilung, Strasse, Etage, Raum, @dt AS Expr1, @techniker AS Expr2, 10 as E3
FROM Daten
WHERE (ESARIid = @esari)
select IstBAPid,'okay' as Fehler from IstBAP where Installationsdatum = @dt AND Techniker = @techniker
end else if (select count(*) from Daten where ESARIid = @esari AND status = N'deployed') = 1 begin
-- wenn es mehrere gibt, dann das Gerät welches in Betrieb ist
INSERT INTO IstBAP
(Kunde, Abteilung, Strasse, Etage, Raum, Installationsdatum, Techniker, Status)
SELECT Kunde, Abteilung, Strasse, Etage, Raum, @dt AS Expr1, @techniker AS Expr2, 10 as E3
FROM Daten
WHERE (ESARIid = @esari) AND status = N'deployed'
select IstBAPid,'okay' as Fehler from IstBAP where Installationsdatum = @dt AND Techniker = @techniker
end else begin
select 0 as IstBAPid, 'Kein Datensatz mit der ESARI-Nummer gefunden.' as Fehler
end
END
[/code]


es sind 5 codes die in der Systemprozedur gespeichert sind

einer der das startet

zwei die das checken

einer der die daten zurückschreibt

und einer des es beendet


ich hoffe es hielft dir ein wenig besser