成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過程序獲得SQL數據庫中的GetKey函數

數據庫 SQL Server
如果需要獲得SQL Server自增型字段的GetKey函數,可以通過程序獲得,下面就為您介紹該方法,供您參考。

下面將為您介紹通過程序獲得SQL Server自增型字段的函數--GetKey函數的方法,供您參考,希望對你更好學習SQL中函數能夠有所幫助。

概述:

通過程序來產生自增型字段,可以避免多用戶操作的讀取臟數據,操作也很簡便.可以更好的在程序中控制這些關鍵字段的數值.

關鍵步驟:

1. 創建用于存放需要自增的數據表.(systemkey)

SQL Script 如下:

  1. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SystemKey]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)   
  2. drop table [dbo].[SystemKey]   
  3. GO   
  4.    
  5. CREATE TABLE [dbo].[SystemKey] (   
  6.     [ID] [int] NOT NULL ,   
  7.     [KeyName] [nvarchar] (50)  NOT NULL ,   
  8.     [KeyValue] [int] NOT NULL ,   
  9.     [SourceID] [nvarchar] (50)  NOT NULL ,   
  10.     [LockTime] [datetime] NULL    
  11. ) ON [PRIMARY]   
  12. GO   
  13.   

 KeyName:關鍵字的字段名(我們需要的字段名稱,手工添加到這個表中)

KeyValue:對應字段名的值.

SourceID:字段的來源,如果沒有可以填””

LockTime:鎖定的時間,在程序內部使用.

2. GetKeys函數方程,通過調用GetKeys函數得到關鍵字的值.

函數描述如下:

  1. Imports Microsoft.ApplicationBlocks.Data   
  2. Imports Microsoft.VisualBasic.CompilerServices   
  3. Imports System.Threading   
  4. Imports System.Data.SqlClient   
  5. Public Class ClassTestClass ClassTest   
  6.     Public Function GetKeys()Function GetKeys(ByVal KeyName As String, ByVal Source As String, ByVal CNString As String) As Integer   
  7.         Dim connection As New SqlConnection(CNString)   
  8.    
  9.         Dim NewNum As Integer   
  10.         Dim obj2 As Object   
  11.         Dim sFlage As String = "Flag"   
  12.         Try   
  13.             Dim sql As String   
  14.             Dim time As DateTime = DateAndTime.Now.AddSeconds(1)   
  15.             connection.Open()   
  16.             Do While (StringType.StrCmp(sFlage, "", False) <> 0)   
  17.                 sql = (("Update [SystemKey] Set [SourceID]='" & Source & "', [LockTime]=GetDate()  Where [KeyName]='" & KeyName) & "' AND   ((DATEADD(millisecond, 1000, LockTime) <GetDate() ) OR ( SourceID=''))")   
  18.                 Dim j As Integer = SqlHelper.ExecuteNonQuery(connection, CommandType.Text, sql)   
  19.                 If (j > 0) Then   
  20.                     sFlage = ""   
  21.                     Exit Do   
  22.                 End If   
  23.                 sFlage = "Err"   
  24.                 connection.Close()   
  25.                 If (DateTime.Compare(time, DateAndTime.Now) < 0) Then   
  26.                     Return -1   
  27.                 End If   
  28.                 Thread.Sleep(10)   
  29.             Loop   
  30.    
  31.             sql = "Select KeyValue  From [SystemKey] Where [KeyName]='" & KeyName & "' AND SourceID='" & Source & "'"   
  32.             Dim OldNum As Object = SqlHelper.ExecuteScalar(connection, CommandType.Text, sql)   
  33.             Dim num As Integer = (IntegerType.FromObject(OldNum) + 1)   
  34.             sql = "Update [SystemKey] Set [KeyValue]=" & StringType.FromInteger(num) & ", [SourceID]='' Where [KeyName]='" & KeyName & "'"   
  35.             SqlHelper.ExecuteNonQuery(connection, CommandType.Text, sql)   
  36.             NewNum = num   
  37.         Catch exception As Exception   
  38.             NewNum = -1   
  39.         Finally   
  40.             If Not connection Is Nothing Then   
  41.                 CType(connection, IDisposable).Dispose()   
  42.             End If   
  43.         End Try   
  44.         Return NewNum   
  45.     End Function   
  46. End Class   
  47.   

 

 

 

【編輯推薦】

SQL中DATENAME函數的用法

SQL中循環語句的效果實例

SQL中類似For循環處理的實例

對存儲過程代替SQL語句的討論

SQL聚合函數之Avg 函數

責任編輯:段燃 來源: 互聯網
相關推薦

2010-09-10 16:12:08

sql函數判斷

2011-05-30 14:30:08

函數存儲過程

2011-06-03 10:50:27

Java

2010-09-09 14:31:31

SQL函數數據庫

2010-09-06 11:05:05

SQL SERVER語句

2011-08-25 17:15:04

2011-04-13 15:44:12

SQL Server數函數

2010-07-22 10:45:45

SQL Server數

2019-10-21 08:08:34

MySQL數據庫主鍵

2019-08-19 11:07:41

SQL數據庫優化

2011-08-18 10:36:24

SQL ServerISNULL函數

2011-08-22 13:04:47

SQL Server數函數

2011-08-22 11:39:53

SQL Server數PIVOT

2010-09-02 11:24:45

SQL刪除

2011-07-05 16:27:14

過程函數PL

2010-06-17 13:34:47

SQL Server數

2009-09-11 15:12:26

LINQ執行存儲過程

2010-07-12 15:49:53

MS SQL Serv

2011-03-22 10:44:20

SQL Server數拆分字符串函數

2011-03-10 11:12:59

數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 麻豆一区二区三区精品视频 | 色狠狠一区| 国产精品一二三区在线观看 | 欧美一区二区三区四区五区无卡码 | 欧美二区在线 | 精品视频在线一区 | 午夜视频在线播放 | 久久久久久久久久久久一区二区 | 国产欧美精品一区 | hsck成人网| 国产一级视频免费播放 | 九九热九九 | 免费看国产一级特黄aaaa大片 | 日本午夜免费福利视频 | 日韩欧美在线一区二区 | 国产精品毛片无码 | 最新中文字幕在线播放 | 希岛爱理在线 | 在线一区视频 | 欧美久久一区二区 | 天天干com | 一区二区三区四区电影 | 亚洲欧美视频 | 久久99精品久久久久久国产越南 | 亚洲国产成人精品一区二区 | 国产激情视频在线观看 | 国产一区不卡 | 久久久久久久久久一区 | 91精品国产91久久久久久密臀 | 亚洲电影一区二区三区 | 久久精品亚洲一区 | 亚洲第一成年免费网站 | 久久久久国产精品一区二区 | 欧美影院 | 午夜精品久久久久久 | 99色播 | 亚洲三区在线观看 | 国产一区二区自拍 | 久久国产一区 | 国产成人综合一区二区三区 | 中文字幕成人av |