adocsql
❶ 怎麼用一個ADOCConnections 連接不同的資料庫
adoconnection最主要的屬性就是它的 connectionstring 和 connected
你可以先連接上每個資料庫,記錄下它們的connectonstring字元串.
程序運行時設置connected屬性為false,在按鈕點擊事件中,設置它的connectionstring屬性內容分別為你記錄下來的字元串,然後再做其他的動作,最後再設置connected屬性為true.
你可以試試.
❷ Adoc控制項是什麼
VB的聯機幫助MSDN里有的
下一個裝上就可以了
使用 ADO Data 控制項
ADO Data 控制項使用 Microsoft ActiveX 數據對象(ADO) 來快速建立數據綁定的控制項和數據提供者之間的連接。數據綁定控制項是任何具有「數據源」屬性的控制項。數據提供者可以是任何符合 OLEDB 規范的數據源。使用 Visual Basic 的類模塊也可以很方便地創建子集的數據提供者。
盡管可以在應用程序中直接使用 ActiveX 數據對象,但 ADO Data 控制項有作為一個圖形控制項的優勢(具有「向前」和「向後」按鈕),以及一個易於使用的界面,使您可以用最少的代碼創建資料庫應用程序。
圖 7.4 ADO Data 控制項
在 Visual Basic 的「工具箱」中不少控制項都可以作為數據綁定的控制項,包括復選框、組合框、圖像、標簽、列表框、圖片框、以及文本框控制項等。此外,Visual Basic 還包括了若干種數據綁定的 ActiveX 控制項,諸如 DataGrid、DataCombo、Chart、以及 DataList 控制項等。用戶也可以創建自己的數據綁定的 ActiveX 控制項,或從其他開發商購買控制項。
Visual Basic以前的版本提供了內在的 Data 控制項和 Remote Data 控制項 (RDC) 來進行數據訪問。這兩種控制項仍包括在 Visual Basic 中,以提供向後兼容。不過,因為 ADO 的適應性更廣,因此建議用戶使用 ADO Data 控制項來創建新的資料庫應用程序。
詳細信息 關於數據綁定的控制項的完整列表位於「綁定到 ADO Data 控制項的控制項」中。要了解如何使用這些內在的Data 控制項或 Remote Data 控制項,請參閱「使用 Data 控制項」或「使用 Remote Data 控制項」。關於創建數據提供者的詳細信息,請參閱「創建數據識別類」。
可能的用法
連接一個本地資料庫或遠程資料庫。
打開一個指定的資料庫表,或定義一個基於結構化查詢語言 (sql) 的查詢、或存儲過程、或該資料庫中的表的視圖的記錄集合。
將數據欄位的數值傳遞給數據綁定的控制項,可以在這些控制項中顯示或更改這些數值。
添加新的記錄,或根據對顯示在綁定的控制項中的數據的任何更改來更新一個資料庫。
要創建一個客戶、或前端資料庫應用程序,應在窗體中添加 ADO Data 控制項,以及其它所需要的任何 Visual Basic 控制項。可以根據您的需要在窗體中放置多個 ADO Data 控制項。不過,請注意,這種控制項是一種相當「昂貴」的創建連接的方法,應在第一個控制項至少有兩個連接,且以後的每個控制項至少多一個連接時使用。
用最少的代碼創建一個前端資料庫應用程序
通過在設計時設置一些屬性,可以用最少的代碼來創建一個資料庫應用程序。如果正在使用OLE DB 數據源,則相應的Microsoft 數據鏈接名稱(Data Link Name)(.MDL) 必須是在您的機器上創建的。請參閱「創建 Northwind 的OLE DB Data Link」,以獲得一個循序漸進的示例。
要創建一個簡單的前端資料庫應用程序
窗體上放置一個 ADO Data 控制項。(該圖標的工具提示為 "ADODC"。)
如果該控制項不在「工具箱」中,請按 CTRL+T 鍵,顯示「部件」對話框。在這個「部件」對話框中,單擊「Microsoft ADO Data Control」。
在「工具箱」中,單擊選定「ADO 數據控制項」。然後按 F4 鍵顯示「屬性」窗口。
在「屬性」窗口中,單擊「ConnectionString」顯示「ConnectionString」對話框。
如果您已經創建了一個 Microsoft 數據鏈接文件(Data Link file)(.UDL),請選擇「使用 OLE DB 文件」並單擊「瀏覽」,以找到計算機上的文件。如果使用 DSN,則單擊「使用 ODBC 數據源名」,並從框中選擇一個 DSN,或單擊「新建」創建一個。如果想創建一個連接字元串,請選擇「使用 ConnectionString」,單擊「生成」,然後使用「數據鏈接屬性」對話框創建一個連接字元串。在創建連接字元串後,單擊「確定」。ConnectionString 屬性將使用一個類似於下面這一行的字元串來填充:
driver={SQL Server};server=bigsmile;uid=sa;pwd=pwd;database=pubs
在「屬性」窗口中,將「記錄源」屬性設置為一個 SQL 語句。例如:
SELECT * FROM Titles WHERE AuthorID = 72
在訪問一個表時,應始終包括一個 WHERE 子句。如果這樣做失敗,則會鎖定整個表,這樣對其他用戶將是一個嚴重的障礙。
在窗體上再放置一個「文本框」控制項,用來顯示資料庫信息。
在其「屬性」窗口中,將 Text1 的「數據源」屬性設為 ADO Data 控制項的名稱 (ADODC1)。這樣就將這個文本框和 ADO Data 控制項綁定在一起。
在其「屬性」窗口中,單擊「數據欄位」將下拉得到一個可用的欄位列表。單擊所要顯示的欄位的名稱。
對希望訪問的其它每個欄位重復第 6、7、8 步。
按 F5 鍵運行該應用程序。用戶可以在 ADO Data 控制項使用四個箭頭按鈕,從而允許用戶地到達數據的開始、記錄的末尾、或在數據內從記錄移動到另一個記錄。
在程序中設置 ConnectionString、Source、DataSource、以及 DataField
下面的代碼演示了如何在程序中設置這四個屬性。注意設置 DataSource 屬性要使用 Set 語句。
Private Sub Form_Load()
With ADODC1
.ConnectionString = "driver={SQL Server};" & _
"server=bigsmile;uid=sa;pwd=pwd;database=pubs"
. RecordSource = "Select * From Titles Where AuthorID = 7"
End With
Set Text1.DataSource = ADODC1
Text1.DataField = "Title"
End Sub
ADO Data 控制項的事件
ADO Data 控制項提供了若干個可以編程的事件。下表說明了這些事件及其何時產生,不過這個表不是一個關於這些事件何時發生的所有條件的完整列表。更完整的信息,請參閱各個事件的參考主題。
事件 產生條件
WillMove 當執行 Recordset.Open、Recordset.MoveNext、Recordset.Move、Recordset.MoveLast、Recordset.MoveFirst、Recordset.MovePrevious、Recordset.Bookmark、Recordset.AddNew、Recordset.Delete、Recordset.Requery、Recordset.Resync 方法時
MoveComplete 在 WillMove 事件之後
WillChangeField 在 Value 屬性更改之前
FieldChangeComplete 在 WillChangeField 事件之後
WillChangeRecord 當執行 Recordset.Update、Recordset.Delete、Recordset.CancelUpdate、Recordset.UpdateBatch、Recordset.CancelBatch 方法時
RecordChangeComplete 在 WillChangeRecord 事件之後
WillChangeRecordset 在執行 Recordset.Requery、Recordset.Resync、Recordset.Close、Recordset.Open、Recordset.Filter 方法時
RecordsetChangeComplete 在 WillChangeRecordset 事件之後
InfoMessage 當數據提供者返回一個結果時
詳細信息 如果試圖循序漸進地使用 ADO Data 控制項,請參閱「使用 DataGrid 和 ADO 數據控制項創建一個簡單的資料庫應用程序」,「 創建一個簡單的 DataCombo 應用程序」,以及「創建一個連接 DataList 控制項的 DataGrid」。
❸ 用asp怎麼連接sql資料庫
資料庫鏈接
1. ASP與Access資料庫連接:
<%
dim conn,mdbfile
mdbfile=server.mappath("資料庫名稱.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=資料庫密碼;dbq="&mdbfile
%>
2. ASP與SQL資料庫連接:
<%
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL伺服器名稱或IP地址;UID=sa;PWD=資料庫密碼;DATABASE=資料庫名稱
%>
建立記錄集對象:
set rs=server.createobject("adodb.recordset")
rs.open SQL語句,conn,3,2
3.Access資料庫的DSN-less連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("資料庫所在路徑")
%>
4.Access OLE DB連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("資料庫所在路徑")
%>
5.SQL server連接方法:
<%
set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
"database=資料庫名;"
%>
6.SQL server OLE DB連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _"inital Catalog=資料庫名"
%>
7.Oracle 連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={Microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
%>
8.Oracle OLE DB 連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
%>
9.dBase 連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
%>
10.mySQL 連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
%>
11.Visual Foxpro 連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={Microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
%>
12.MS text 連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
%>
13.MS text OLE DB 連接方法:
<%
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
"Extended Properties'text;FMT=Delimited'"
%>
很詳細了 可以給最佳答案 了吧
❹ asp怎麼執行SQL語句
set rs = server.server.CreateObject("adodb.recordset")
sql="select abc from abc"
rs.open sql,adocon,1,3
或者
adocon.execute("select abc from abc")
❺ asp怎樣與SQL資料庫連接代碼是
用於連接SQL資料庫的代碼應該這樣:
連接字元串以及解釋如下:
connstr="driver={SQL Server};server=(local);uid=sa;pwd=sa;database=Your database"
語法介紹:
(1)、driver={SQL Server};始終為這個形式,不變
(2)、server:可以是local、你計算機的IP、計算機的名稱中的任意一個
(3)、uid:登陸SQL的用戶名
(4)、pwd:登陸SQL的密碼
(5)、database:要連接的資料庫名稱。
然後再聲明連接對象:
set conn=Server.Createobject("adodb.connection")
然後用Open方法打開連接
conn.open connstr
樓主可以試下.
❻ Delphi 7.0 窗體中設置2個DBGrid,用ADOQuery 與 DateSource 來獲取數據集 數據來源都是同一張表!
看您的綁定DBGrid2良好的數據源沒有回答PS後的存儲方法,重新打開記錄集就行了
看你DBGrid2顏色設置嗎?白色背景字的白色你可以看到它
❼ VB連接 sqlserver 用了adocdc 控制項
sqlserver 最好別用綁定 容易出錯
❽ 如何在SQL Server 2005 Express中創建資料庫和訪問資料庫
1.Access資料庫的DSN-less連接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("資料庫所在路徑")
2.Access OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("資料庫所在路徑")
3.SQL server連接方法:
set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
"database=資料庫名;"
4.SQL server OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _
"inital Catalog=資料庫名"
5.Oracle 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
6.Oracle OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
7.dBase 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
8.mySQL 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;
uid=username;pwd=yourpassword;option=16386;"
9.Visual Foxpro 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
10.MS text 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
11.MS text OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
"Extended Properties'text;FMT=Delimited'"
<二>常用的四種SQL命令:
1.查詢數據記錄(Select)
語法:Select 欄位串列 From table Where 欄位=內容
例子:想從book表中找出作者為"cancer"的所有記錄,SQL語句便如下:
select * from book where author=』cancer』
"*"是取出book表所有的欄位,如查詢的欄位值為數字,則其後的"內容"便無須加上單引號,如是日期,則在Access中用(#)包括,而在SQL server中則用(』)包括,
如:
select * from book where id=1
select * from book where pub_date=#2002-1-7# (Access)
select * from book where pub_date=』2002-1-7』 (SQL Server)
提示:
日期函數to_date不是標准sql文,不是所有的資料庫適用,所以大家在使用的時候要參考資料庫具體語法
另外如果是查詢傳入的變數,則如下:
strau=request.form("author")
strsql="select * from book where author=』"&strau&"』"
如果查詢的是數字,則:
intID=request.form("id")
strsql="select * from book where id="&intID
在很多資料庫中,如:oracle,上面的語句是可以寫成:
strsql="select * from book where id='"&intID&"'"
但是字元型一定不能按照數字格式寫,需要注意。
2.添加記錄(Insert)
語法:
Insert into table(field1,field2,....) Values (value1,value2,....)
例子:添加一作者是"cancer"的記錄入book表:
insert into book (bookno,author,bookname) values (』CF001』,』cancer』,』Cancer無組件上傳程序』)
同樣,如果用到變數就如下:
strno=request.form("bookno")
strau=request.form("author")
strname=request.form("bookname")
strsql="insert into book (bookno,author,bookname) values (』"&strno&"』,』"&strau&"』,』"&strname&"』)"
3.用Recordset對象的Addnew插入數據的方法:
語法:
rs.addnew
rs("field1").value=value1
rs("field2").value=value2
...
rs.update
4.修改數據記錄(Update)
語法:
update table set field1=value1,field2=value2,...where fieldx=valuex
例子:
update book set author=』babycrazy』 where bookno=』CF001』
如果用到變數就如下:
strno=request.form("bookno")
strau=request.form("author")
strsql="update book set author=』"&strau&"』 where bookno=』"&strno"』"
5.Recordset對象的Update方法:
語法:
rs("field1").value=value1
rs("field2").value=value2
...
rs.update
注意:使用語法3和語法5的時候,一定要注意欄位的類型(尤其是日期型)一致,否則出錯的幾率非常的高。
例子:
strno=request.form("bookno")
strau=request.form("author")
set adocon=server.createobject("adodb.connection")
adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _
Server.Mappath=("/cancer/cancer.mdb")
strsql="select * from book where bookno=』"&strno&"』"
set rs=server.createobject("adodb.recordset")
rs.open strsql,adconn,1,3
if not rs.eof then 』如果有此記錄的話
rs("author").value=strau
rs.update
end if
rs.close
set rs=nothing
adocon.close
set adocon=nothing
6.刪除一條記錄(Delete)
語法:
Delete table where field=value
例子:刪除book表中作者是cancer的記錄
delete book where author=』cancer』
(注意:如果book表中author欄位的值為cancer的記錄有多條,將會刪除所有author為cancer的記錄)
❾ 建立sql資料庫是在SQL企業管理器中建一個新資料庫就可以了嗎
對呀去學習一下吧!
ASP連接11種資料庫語法總結
經常使用到有關資料庫的操作。包括連接代碼、SQL命令等等,又不曾刻意去記憶它們(我本人是不願意去記這東東),所以常常在用到的時候又去查書本,翻來翻去。一些比較少用的資料庫還不一定能順利找到,所以現在把它們全歸納到這里,提供大家參考。
<一>資料庫的連接方法:
1.Access資料庫的DSN-less連接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("資料庫所在路徑")
2.Access OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("資料庫所在路徑")
3.SQL server連接方法:
set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
"database=資料庫名;"
4.SQL server OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _
"inital Catalog=資料庫名"
5.Oracle 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
6.Oracle OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
7.dBase 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
8.mySQL 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;
uid=username;pwd=yourpassword;option=16386;"
9.Visual Foxpro 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
10.MS text 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
11.MS text OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
"Extended Properties'text;FMT=Delimited'"
<二>常用的四種SQL命令:
1.查詢數據記錄(Select)
語法:Select 欄位串列 From table Where 欄位=內容
例子:想從book表中找出作者為"cancer"的所有記錄,SQL語句便如下:
select * from book where author=』cancer』
"*"是取出book表所有的欄位,如查詢的欄位值為數字,則其後的"內容"便無須加上單引號,如是日期,則在Access中用(#)包括,而在SQL server中則用(』)包括,
如:
select * from book where id=1
select * from book where pub_date=#2002-1-7# (Access)
select * from book where pub_date=』2002-1-7』 (SQL Server)
提示:
日期函數to_date不是標准sql文,不是所有的資料庫適用,所以大家在使用的時候要參考資料庫具體語法
另外如果是查詢傳入的變數,則如下:
strau=request.form("author")
strsql="select * from book where author=』"&strau&"』"
如果查詢的是數字,則:
intID=request.form("id")
strsql="select * from book where id="&intID
在很多資料庫中,如:oracle,上面的語句是可以寫成:
strsql="select * from book where id='"&intID&"'"
但是字元型一定不能按照數字格式寫,需要注意。
2.添加記錄(Insert)
語法:
Insert into table(field1,field2,....) Values (value1,value2,....)
例子:添加一作者是"cancer"的記錄入book表:
insert into book (bookno,author,bookname) values (』CF001』,』cancer』,』Cancer無組件上傳程序』)
同樣,如果用到變數就如下:
strno=request.form("bookno")
strau=request.form("author")
strname=request.form("bookname")
strsql="insert into book (bookno,author,bookname) values (』"&strno&"』,』"&strau&"』,』"&strname&"』)"
3.用Recordset對象的Addnew插入數據的方法:
語法:
rs.addnew
rs("field1").value=value1
rs("field2").value=value2
...
rs.update
4.修改數據記錄(Update)
語法:
update table set field1=value1,field2=value2,...where fieldx=valuex
例子:
update book set author=』babycrazy』 where bookno=』CF001』
如果用到變數就如下:
strno=request.form("bookno")
strau=request.form("author")
strsql="update book set author=』"&strau&"』 where bookno=』"&strno"』"
5.Recordset對象的Update方法:
語法:
rs("field1").value=value1
rs("field2").value=value2
...
rs.update
注意:使用語法3和語法5的時候,一定要注意欄位的類型(尤其是日期型)一致,否則出錯的幾率非常的高。
例子:
strno=request.form("bookno")
strau=request.form("author")
set adocon=server.createobject("adodb.connection")
adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _
Server.Mappath=("/cancer/cancer.mdb")
strsql="select * from book where bookno=』"&strno&"』"
set rs=server.createobject("adodb.recordset")
rs.open strsql,adconn,1,3
if not rs.eof then 』如果有此記錄的話
rs("author").value=strau
rs.update
end if
rs.close
set rs=nothing
adocon.close
set adocon=nothing
6.刪除一條記錄(Delete)
語法:
Delete table where field=value
例子:刪除book表中作者是cancer的記錄
delete book where author=』cancer』
(注意:如果book表中author欄位的值為cancer的記錄有多條,將會刪除所有author為cancer的記錄)
好了,學會了用這些操作,大家在用asp操作資料庫的時候,該是沒有什麼問題了。
❿ SQL查詢語句 修改模糊查詢的方法2
在進行資料庫查詢時,有完整查詢和模糊查詢之分。
一般模糊語句如下:
SELECT 欄位 FROM 表 WHERE 某欄位 Like 條件
其中關於條件,SQL提供了四種匹配模式:
1,%:表示任意0個或多個字元。可匹配任意類型和長度的字元,有些情況下若是中文,請使用兩個百分號(%%)表示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
將會把u_name為「張三」,「張貓三」、「三腳貓」,「唐三藏」等等有「三」的記錄全找出來。
另外,如果需要找出u_name中既有「三」又有「貓」的記錄,請使用and條件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%貓%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%貓%'
雖然能搜索出「三腳貓」,但不能搜索出符合條件的「張貓三」。
2,_: 表示任意單個字元。匹配單個任意字元,它常用來限製表達式的字元長度語句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出「唐三藏」這樣u_name為三個字且中間一個字是「三」的;
再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出「三腳貓」這樣name為三個字且第一個字是「三」的;
3,[ ]:表示括弧內所列字元中的一個(類似正則表達式)。指定一個字元、字元串或范圍,要求所匹配對象為它們中的任一個。
比如 SELECT * FROM [user] WHERE u_name LIKE '[張李王]三'
將找出「張三」、「李三」、「王三」(而不是「張李王三」);
如 [ ] 內有一系列字元(01234、abcde之類的)則可略寫為「0-4」、「a-e」
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
將找出「老1」、「老2」、……、「老9」;
4,[^ ] :表示不在括弧所列之內的單個字元。其取值和 [] 相同,但它要求所匹配對象為指定字元以外的任一個字元。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^張李王]三'
將找出不姓「張」、「李」、「王」的「趙三」、「孫三」等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
將排除「老1」到「老4」,尋找「老5」、「老6」、……
5,查詢內容包含通配符時
由於通配符的緣故,導致我們查詢特殊字元「%」、「_」、「[」的語句無法正常實現,而把特殊字元用「[ ]」括起便可正常查詢。據此我們寫出以下函數:
function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
在查詢前將待查字元串先經該函數處理即可。