Frage : Berechnete Variable auf Bediener…

Hallo there.

I Notwendigkeit, einen berechneten Wert in einem Feld auf meiner Datenbank Mitgliedstaat-SQL zu verursachen. Im Augenblick berechne ich den Wert auf dem Klienten, aber ich wünsche ihn auf dem Bediener geschehen. Ist hier, was ich jetzt tue:

I haben ein Eingangsfeld so:
& (Recordset13.Fields.Item (""). Value/>“ hat size= " 32“/>

It angenommen, um eine Zahl auf neuen Rekorden wie „Jahr-####“… Jahrschrägstrich und bis 4 Zahlen zu verursachen. Es wählt das anwesende Jahr vor und sucht oben in recordset13 den höchsten Wert nach dem anwesenden Jahr.  Aber auf diese Weise die Zahl wird berechnet, wenn der Benutzer anfängt, einen neuen Rekord zu verursachen, und während der Benutzer den tut, kann ein anderer Benutzer die selben tun, und bis die Zahl gespeichert worden ist, können viele Benutzer den gleichen Wert verursachen. Das ist NICHT gut.
So, wie ich diesen Wert verursachen kann, wenn der Benutzer den EINSATZ IN Aussage in den SQL-Codes aktiviert?
When das Benutzerklicken „Einsatz-neuer Rekord“ der SQL-Server muss das recordset13 laufen lassen, um den Maximalwert des „Jahres-####“ zu finden und in die Variable in der Datenbank zu speichern. Ich erhielt gerade viele Syntax erros, als ich versuchte, einige Codes im SQL zu tun….
I wettete, dass Sie Kerle einen kühlen Vorschlag haben? :-) sich erinnern, dass ich Mitgliedstaat SQL und klassisches asp.

Best regards

Ullenulle
verwende

Antwort : Berechnete Variable auf Bediener…

Verfahren verursachen, das das folgende Durchlauf @id tut, wenn Sie in den SP. gebraucht werden:

@retValue int erklären --die Berücksichtigung unterhalb des Wertes ist int
@retValue = IsNull (max (TEILKETTE (chainlink, 6.6) VORWÄHLEN), 0) VON dbo.tbl_registrer, WO TEILKETTE (chainlink, 1.4) WIE DATEPART (Jahr, getdate ())
@retValue = @retValue EINSTELLEN + 1
your_table Satz aktualisieren field1 = „Jahr“ + geworfen (@retValue, wie varchar (4)) wo Identifikation = @id
Weitere Lösungen  
 
programming4us programming4us