Benutzer mit den meisten Antworten
Sequences in Win Azure DB

Frage
Antworten
-
Danke Oliver,
Werde es mit nachfolgender Funktion lösen - wem's hilft:
' Nächste Seqence ausgeben - Work-a-round für Azure ' Es können mehrer Sequenzen in der Tabelle 'verwaltet' werden ' Voraussetung ist eine Tabelle mit dem Namen 'SqValues' und SequenceNr Felder [SqT1, SqT2, ...] ' Liefert 0 im Fehlerfalle Public Shared Function GetNextSequenceNr(typ As String) As Int32 Dim sqnr As Int32 Dim conStr As String = ConfigurationManager.ConnectionStrings("xxxxx").ToString Dim sql1, sql2 As String Select Case typ Case "T1" sql1 = "Select SqT1 from SqValues" sql2 = "UPDATE SqValues SET SqT1 = SqT1+1" Case "T2" sql1 = "Select SqT2 from SqValues" sql2 = "UPDATE SqValues SET SqT2 = SqT2+1" Case Else Return 0 End Select ' Abfrage durchführen Try Using con As SqlConnection = New SqlConnection(conStr) con.Open() Using cmd As SqlCommand = con.CreateCommand 'Wert ermitteln cmd.CommandText = sql1 sqnr = CInt(cmd.ExecuteScalar()) ' Wert erhöhen cmd.CommandText = sql2 cmd.ExecuteNonQuery() End Using End Using Catch ex As Exception sqnr = 0 End Try Return sqnr End Function
Gruß
Harald
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Januar 2013 11:49
Alle Antworten
-
Danke Oliver,
Werde es mit nachfolgender Funktion lösen - wem's hilft:
' Nächste Seqence ausgeben - Work-a-round für Azure ' Es können mehrer Sequenzen in der Tabelle 'verwaltet' werden ' Voraussetung ist eine Tabelle mit dem Namen 'SqValues' und SequenceNr Felder [SqT1, SqT2, ...] ' Liefert 0 im Fehlerfalle Public Shared Function GetNextSequenceNr(typ As String) As Int32 Dim sqnr As Int32 Dim conStr As String = ConfigurationManager.ConnectionStrings("xxxxx").ToString Dim sql1, sql2 As String Select Case typ Case "T1" sql1 = "Select SqT1 from SqValues" sql2 = "UPDATE SqValues SET SqT1 = SqT1+1" Case "T2" sql1 = "Select SqT2 from SqValues" sql2 = "UPDATE SqValues SET SqT2 = SqT2+1" Case Else Return 0 End Select ' Abfrage durchführen Try Using con As SqlConnection = New SqlConnection(conStr) con.Open() Using cmd As SqlCommand = con.CreateCommand 'Wert ermitteln cmd.CommandText = sql1 sqnr = CInt(cmd.ExecuteScalar()) ' Wert erhöhen cmd.CommandText = sql2 cmd.ExecuteNonQuery() End Using End Using Catch ex As Exception sqnr = 0 End Try Return sqnr End Function
Gruß
Harald
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Januar 2013 11:49