Autor Beitrag
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Di 15.10.02 16:57 
Hallo leute.

In meinem Program will ich ein update statement ausführen und bekomme allerdings folgende fehlermeldung

lock conflict on nowait transaction
deadlock

Ich führe in dem programm vorher nur eine stored procedure aus und sonst nichts.

Diese Stored Procedure arbeitet allerdings auf der Tabelle, die ich hier updaten will, kann es sein, das da der fehler liegt?

Gruß
Ken
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Di 15.10.02 17:48 
Hi,

vermute das auch. Platze allerdings hier rein, weil ich nicht weiß, wozu ich diese stored Procedures überhaupt nutzen soll. :shock: Der Sinn des ganzen ist mir nicht ganz klar. Wo entsteht Bedarf dafür :?: . Brauche nur ein Beispiel. :P

Gruß
Hansa
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Di 15.10.02 21:10 
danke, ich habe es schon gelöst.

gruß
Ken
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mi 16.10.02 08:12 
Hi
Hansa hat folgendes geschrieben:

Der Sinn des ganzen ist mir nicht ganz klar. Wo entsteht Bedarf dafür

Der Sinn liegt darin von der Fat-Client weg zu einer Fat-Server Programmierung zu kommen.
Mal angenommen ich muss Werte in einem Datensatz aktualisieren. Wenn der Datensatz vorhanden ist, wird aktualisiert, wenn der Satz noch nicht vorhanden ist, muss ich ihn zuerst anlegen. Dazu brauche ich aber Werte aus zwei anderen Tabellen.
Wenn ich das in meinem Programm mache, muss ich also zuerst feststellen ob der Satz vorhanden ist (SELECT). In dem Fall mache ich ein UPDATE. Ist er nicht vorhanden hole ich die Werte aus den beiden anderen Tabellen (SELECT, SELECT) und anschliessend ein INSERT.
Hinterlege ich nun diesen ganzen Schums in einer Prozedur in der Datenbank, besteht die einzige Aufgabe in meinem Programm diese Prozedur mit den notwendigen Parametern aufzurufen. Der Rest passiert direkt auf dem Server und damit werden auch keine unnötigen Daten übers Netzwerk hin- und hergeschickt.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mi 16.10.02 15:23 
danke Lothar.

Du hast mich vor allem aufgeklärt, was hansa wollte. :wink:
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 16.10.02 18:48 
Hi Irenicius,

soll das etwa heißen, daß Du selber auch nicht so recht mit einer stored Procedure etwas anfangen kannst ? Aus diesem Grund habe ich sie ja bisher nicht verwendet, aber sie müssen ja einen Sinn haben, den Lothar gut erklärt hat. Aber ich weiß immer noch nicht wo und wie ich ich sie gebrauchen kann. :roll: Vor allem das mit der Parameter-Übergabe. Es geht halt darum, möglichst viel Arbeit von den Workstations weg zu schaffen, um das ganze Netzwerk nicht unnötig zu belasten.

Gruß
Hansa
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Do 17.10.02 09:35 
Hallo Hansa.

Ich wusste schon, was es damit auf sich hat.
Ich benutze sie an vielen Stellen im Programm.
Aber das ding war halt, das ich nicht wusste, was deine Frage nun in diesem Thread sollte.
Ich wusste halt nicht, worauf deine Frage abziehlt. Nichts für ungut

Gruß
Ken
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Do 17.10.02 09:40 
Ach und noch was.

Du hast eine Kassensoftware, in der du buchungen für die kasse durchführen kannst.
Es ist möglich, auf Rechnung zu kaufen oder Bar zu bezahlen. Dann hast du in deinem Programm vielleicht eine checkbox dafür, ob bar bezahlt wurde. wenn die gecheckt ist, wirst du die daten in andere tabellen eintragen, als wenn sie nicht gecheckt ist. Dann übergibst du der SP einfach nur den wert, ob gecheckt oder nicht. Der SP übergibst du den status und die benötigten daten und die procedure kümmert ich um den rest.

Gruß
Ken