成人免费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 函數

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

2011-05-30 14:30:08

函數存儲過程

2010-09-10 16:12:08

sql函數判斷

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數據庫主鍵

2010-09-02 11:24:45

SQL刪除

2019-08-19 11:07:41

SQL數據庫優化

2011-07-05 16:27:14

過程函數PL

2010-06-17 13:34:47

SQL Server數

2010-07-12 15:49:53

MS SQL Serv

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

2009-09-11 15:12:26

LINQ執行存儲過程

2011-03-10 11:12:59

數據庫

2023-05-29 15:23:37

MySQL數據庫函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美视频一区 | 国产欧美一区二区三区在线看蜜臀 | 欧美久久久 | 国产精品成人69xxx免费视频 | 精品国产欧美在线 | 久久1区| www.97zyz.com | 一区二区亚洲 | 亚洲欧美中文日韩在线v日本 | 午夜视频网 | 国产一区在线看 | 超碰在线人人 | 久久久久亚洲视频 | 国产欧美精品 | www.色.com| 日韩高清国产一区在线 | 蜜桃视频在线观看免费视频网站www | 亚洲一级毛片 | 国产精品精品久久久 | 刘亦菲国产毛片bd | 国产高清一区二区三区 | 韩国精品在线观看 | 欧美在线成人影院 | 91免费观看 | av网站在线免费观看 | 成人午夜免费福利视频 | 曰韩一二三区 | 天天操天天干天天爽 | 欧美黑人狂野猛交老妇 | 亚洲欧洲精品在线 | 精品久久电影 | 日韩中文一区二区三区 | 成人免费视频网站在线观看 | av日韩高清| 免费播放一级片 | 中国三级黄色录像 | 亚洲免费网 | 91亚洲精品久久久电影 | 91精品国产综合久久久动漫日韩 | 夜夜操天天干 | 日韩在线免费播放 |