ASP如何使用MYSQL數(shù)據(jù)庫
創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕十載,專業(yè)且經(jīng)驗(yàn)豐富。十載網(wǎng)站優(yōu)化營銷經(jīng)驗(yàn),我們已為上千中小企業(yè)提供了網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)解決方案,按需定制開發(fā),設(shè)計(jì)滿意,售后服務(wù)無憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!
mysql數(shù)據(jù)庫以它短小、方便、速度快、免費(fèi)等優(yōu)點(diǎn)成為很多網(wǎng)站目前首選
數(shù)據(jù)庫,但一般都是用php+mysql相結(jié)合來開發(fā)各種動(dòng)態(tài)頁面,其實(shí)asp也可以
使用mysql數(shù)據(jù)庫開發(fā)動(dòng)態(tài)頁面,小弟我也是剛剛學(xué)會(huì),不敢獨(dú)享,所以特寫了
這篇文章供大伙參考。
我的環(huán)境是windows2000+iis5.0+mysql-3.23.32-win+php4
mysql-3.23.32-win(這個(gè)是最新版的)
myodbc-2.50.36-dll(這個(gè)是最重要的,mysql odbc的驅(qū)動(dòng)程序,可以在下載)
第一步:安裝mysql odbd的驅(qū)動(dòng)程序,將下載的myodbd-2.50.46-dll文件復(fù)制到windows\system目錄下(windows2000是winnt/system32)
然后建立一新文件,擴(kuò)展名為reg(就是注冊表文件),將以下內(nèi)容復(fù)制到該文件中。
regedit4
[hkey_local_machine\software\odbc\odbcinst.ini\myodbc driver]
"usagecount"=dword:00000002
"driver"="c:\\windows\\system\\myodbc.dll"
"setup"="c:\\windows\\system\\myodbc.dll"
"sqllevel"="1"
"fileusage"="0"
"driverodbcver"="02.50"
"connects"="yyy"
"apilevel"="1"
"cptimeout"="120"
[hkey_local_machine\software\odbc\odbcinst.ini\odbc drivers]
"myodbc driver"="installed"
保存后雙擊該文件,將上面代碼注冊到windows注冊表中。
如果安裝在windows2000中,則driver和setup主鍵的值要做相應(yīng)改變,這里我想就不用多說了。
如果成功,在控制面板/odbd數(shù)據(jù)源的驅(qū)動(dòng)程序里將看到myodbd driver這一項(xiàng)!
第二步:建立asp文件鏈接數(shù)據(jù)庫。
這里有兩種方法,一種是在odbc數(shù)據(jù)源中建立一個(gè)系統(tǒng)dsn。后來我發(fā)現(xiàn)不建立也可以在asp中使用mysql,方法在下文將講道。
打開控制面板/odbd數(shù)據(jù)源,選擇系統(tǒng)dsn,然后添加一個(gè)新的dsn,驅(qū)動(dòng)程序選擇myodbd driver,會(huì)出現(xiàn)一個(gè)對話框供輸入mysql
相關(guān)信息。
windows dsn name: 所要建立dsn的名稱
mysql host (name or ip):mysql服務(wù)器的名稱或者是ip地址,通常填localhost
mysql database name:需要使用數(shù)據(jù)庫的名稱,數(shù)據(jù)庫在mysql管理程序中建立。這里我們使用一個(gè)例子。數(shù)據(jù)庫名:hc188
里面有數(shù)據(jù)表:user 數(shù)據(jù)表有兩個(gè)字段分別是:username和password,隨便插入幾個(gè)數(shù)據(jù)。
user:鏈接數(shù)據(jù)庫的用戶名,我填的是root超級用戶
password:鏈接數(shù)據(jù)庫用戶密碼,如果沒有,可以不填
port(if not 3306):mysql在服務(wù)器的端口,如果不填默認(rèn)為3306
sql command on connect:使用sql命令鏈接數(shù)據(jù)庫,這項(xiàng)可以不填
填寫完畢后選擇ok保存。
下面鏈接數(shù)據(jù)庫的asp代碼!
<%
strconnection = "dsn=hc188;driver={myodbd driver};server=localhost;uid=root;pwd=;database=hc188"
set adodataconn = server.createobject("adodb.connection")
adodataconn.open strconnection
strquery = "select * from user"
set rs = adodataconn.execute(strquery)
if not rs.bof then
%>
<table>
<tr>
<td<b>username</b></td>
<td><b>password</b></td>
</tr>
<%
do while not rs.eof
%>
<tr>
<td><%=rs("username")%></td>
<td><%=rs("password")%></td>
</tr>
<%
rs.movenext
loop
%>
</table>
<%
else
response.write("sorry, no data found.")
end if
rs.close
adodataconn.close
set adodataconn = nothing
set rsemaildata = nothing
%>
第二種方法:我在使用中想過如果不建立系統(tǒng)dsn,是否也可以使用mysql數(shù)據(jù)庫呢?結(jié)果是可以的。
方法很簡單,把上面asp代碼第二行代碼改為:
strconnection="defaultdir=;driver={myodbc driver};database=hc188"
我奇怪的發(fā)現(xiàn),這種方法連用戶名和密碼都不需要就可以使用。是不是mysql的一個(gè)bug呢?
以上代碼全部經(jīng)測試通過! 如何建立MYSQL數(shù)據(jù)庫的連接?
在安裝好MYSQL ODBD的驅(qū)動(dòng)程序后,應(yīng)如何建立ASP文件連接數(shù)據(jù)庫? 我們有兩種方法:一種是在ODBC數(shù)據(jù)源中建立一個(gè)DSN。具體方法是:
1、打開控制面板中的ODBD數(shù)據(jù)源;
2、選擇系統(tǒng)DSN,添加一個(gè)新的DSN驅(qū)動(dòng)程序;
3、選擇MyODBD,出現(xiàn)一個(gè)對話框供輸入MySQL:
(1)Windows DSN name:所要建立DSN的名稱;
(2)MySQL Host (name or ip):MySQL服務(wù)器的名稱或IP地址。一般填LocalHost ;
(3) MySQL database name:需要使用數(shù)據(jù)庫的名稱。
4、在MySQL管理程序中建立數(shù)據(jù)庫。以數(shù)據(jù)庫chunfeng為例,內(nèi)有user數(shù)據(jù)表,兩個(gè)字段分別是:username和password,我們可以試著加入幾個(gè)記錄:
(1)user:連接數(shù)據(jù)庫的用戶名??商顁oot超級用戶;
(2)password:連接數(shù)據(jù)庫用戶口令??刹惶?;
(3)Port(if not 3306):MySQL在服務(wù)器的端口。填默認(rèn)為3306;
(4)SQL command on connect:使用SQL命令連接數(shù)據(jù)庫??刹惶?。
全部填完后按OK保存。
步驟:
1.安裝mysql
2.安裝myodbc
3.啟動(dòng)mysql管理器,如果在my odbc框內(nèi)有如下字樣,就代表成功了一半
Quote:
Driver version 03.51
Driver **********
API Level *********
Setup **********
SQL Lever **********
這時(shí)候,并不是在Asp程序里設(shè)置好連接字符串,就能連上mysql數(shù)據(jù)庫的,這一點(diǎn)要記?。?!
還要執(zhí)行如下操作。。。
步驟:
1.打開控制面板 -- 打開管理工具 -- 打開數(shù)據(jù)源(ODBC) (注意到用戶DSN里已經(jīng)有mysql了)
2. 選擇系統(tǒng)DSN -- 添加 -- 選擇MySQL ODBC 3.51 Driver -- 彈出Mysql配置界面窗口 - - data source name填好吧,database name填mysql(最好和用戶DSN一樣),user填“root”,密碼 空,其它默認(rèn),OK。 (第二步比較重要,關(guān)系到能否順利連接的問題)
好吧,大家為IIS建個(gè)站點(diǎn)或虛擬目錄什么的。寫個(gè)ASP文件試試看??
以下是我寫的個(gè)測試用的東西(數(shù)據(jù)庫是mysql自帶的)。。。
---------
%
dim conn,connstr,sql
set conn=server.createobject("adodb.connection")
connstr="DSN=myodbc3-test;DESC=MySQL ODBC 3.51 TEST DSN;DATABASE=mysql;SERVER=localhost;UID=root;PASSWORD=;PORT=3306;OPTION=3;STMT=;"
conn.open connstr
’ sql="insert into db (host,db,user) values (’adsfa’,’asad’,’asd’)"
’ conn.execute sql
sql="select * from db"
set rs=conn.execute(sql)
do while not rs.eof
response.write rs("host")
rs.movenext
loop 網(wǎng)上摘錄的 感覺挺靠譜的 希望能幫到你
類的調(diào)用方法:
public int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected)
{
using (SqlConnection connection = new SqlConnection(strConn))
{
int result;
connection.Open();
SqlCommand command = BuildIntCommand(connection, storedProcName, parameters);
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
//Connection.Close();
return result;
}
}
Mysql的簡單存儲過程:
CREATE PROCEDURE `DELETEDB`(IN m_orgid char(12))
BEGIN
delete from hardwareinfo where orgid=m_orgid;
delete from addressinfo where orgid=m_orgid;
END