日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

兩種技巧處理SQL Server中的單引號_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:三個影響SQL Server性能的關(guān)鍵
1 邏輯數(shù)據(jù)庫和表的設(shè)計(jì) 數(shù)據(jù)庫的邏輯設(shè)計(jì)、包括表與表之間的關(guān)系是優(yōu)化關(guān)系型數(shù)據(jù)庫性能的核心。一個好的邏輯數(shù)據(jù)庫設(shè)計(jì)可以為優(yōu)化數(shù)據(jù)庫和應(yīng)用程序打下良好的基

和數(shù)據(jù)庫打交道要頻繁地用到SQL語句,除非你是全部用控件綁定的方式,但采用控件綁定的方式存在著靈活性差、效率低、功能弱等等缺點(diǎn)。因此,大多數(shù)的程序員極少或較少用這種綁定的方式。而采用非綁定方式時許多程序員大都忽略了對單引號的特殊處理,一旦SQL語句的查詢條件的變量有單引號出現(xiàn),數(shù)據(jù)庫引擎就會報錯指出SQL語法不對,本人發(fā)現(xiàn)有兩種方法可以解決和處理這種單引號的問題(以VB為例子)。

方法一:利用轉(zhuǎn)義字符處理SQL語句。下面的函數(shù)可以在執(zhí)行SQL語句前調(diào)用,執(zhí)行處理后的結(jié)果即可產(chǎn)生正確的結(jié)果。

Function ProcessStr(str As String)

Dim pos As Integer

Dim stedest As String

pos = InStr(str, "'")

While pos > 0

str = Mid(str, 1, pos) & "'" & Mid(str, pos 1)

pos = InStr(pos 2, str, "'")

Wend

ProcessStr = str

End Function

其中str參數(shù)是你的SQL字符串。函數(shù)一旦發(fā)現(xiàn)字符串中有單引號出現(xiàn),就在前面補(bǔ)上一個單引號。

方法二:利用數(shù)據(jù)對象中的參數(shù)�?梢岳肁DODB.COMMAND對象,把含有單引號的字符串傳遞給COMMAND,然后執(zhí)行查詢等操作即可。

以上兩種方法比較,方法一增加了系統(tǒng)處理時間,方法二簡潔、高效,如果采用存儲過程,然后再傳遞參數(shù)給存儲過程,存儲過程是預(yù)編譯的,這樣系統(tǒng)的效率更高。

下面就舉例子加以說明。

新建一個項(xiàng)目,項(xiàng)目中有一個窗體(Form1),兩個命令按鈕,一個MSFlexGrid,名稱分別為:Command1,Command2,MSFlexGrid1,一個COMBOX(COMBO1),它的內(nèi)容預(yù)先設(shè)定為"Paolo''f"、"Paolo'f"。Command1演示方法一,Command2演示方法二,MSFlexGrid1存儲方法二查詢(SELECT)結(jié)果。對于其他的SQL操作(INSERT、DELTER、UPDATAE)方法極為類似,筆者就不再贅述。例子中用到SQL SERVER中的PUBS數(shù)據(jù)庫中的EMPLOYEE表,同時可以用SQL語法把其中兩條記錄中的FNAME改為"Paolo''f"、"Paolo'f"。 SQL語法如下:

update employee set fname=" Paolo''''f"

where emp_id='PMA42628M'

update employee set fname=" Paolo''f"

where emp_id='PMA42628M'

程序如下:

首先把前面的函數(shù)加入。

在窗體的通用中聲明如下變量:

Dim cnn1 As ADODB.Connection '連接

Dim mycommand As ADODB.Command '命令

Dim rstByQuery As ADODB.Recordset '結(jié)果集

Dim strCnn As String '連接字符串

Private Sub Form_Load()

Set cnn1 = New ADODB.Connection '生成一個連接

strCnn = "driver={SQL Server};" & _

"server=ZYX_pc;uid=sa;pwd=PCDC;database=pubs" '

沒有系統(tǒng)數(shù)據(jù)源使用連接字符串

'strCnn = "DSN=mydsn;UID=sa;PWD=;"

'DATABASE=pubs;Driver={SQL Server};SERVER=gzl_pc" '

分享:談SQL Server 數(shù)據(jù)挖掘應(yīng)用于商業(yè)智能中
智能應(yīng)用的平臺 在過去的二十年中,經(jīng)濟(jì)快速發(fā)展,組織機(jī)構(gòu)普遍都收集了大量的商業(yè)數(shù)據(jù)。然而,擁有大量的數(shù)據(jù)并不意味著擁有了豐富的商業(yè)信息。因此,商業(yè)智能需要進(jìn)展到下一步數(shù)據(jù)挖掘。 數(shù)據(jù)挖掘能幫助您在瀏覽巨量數(shù)據(jù)的同時從中發(fā)現(xiàn)潛在有效的模式,并

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2009-03-13
相關(guān)Mssql數(shù)據(jù)庫教程