日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
利用ADO實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)連接技巧(ado連接遠(yuǎn)程數(shù)據(jù)庫(kù)連接)

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來(lái)越多的應(yīng)用程序需要連接遠(yuǎn)程數(shù)據(jù)庫(kù)來(lái)獲取數(shù)據(jù),以便滿足用戶的需求。ADO(ActiveX Data Objects)是一種面向?qū)ο蟮臄?shù)據(jù)庫(kù)連接技術(shù),可以用來(lái)連接各種類(lèi)型的數(shù)據(jù)庫(kù)。本文將介紹利用ADO實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)連接的技巧。

成都創(chuàng)新互聯(lián)從2013年開(kāi)始,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元烏爾禾做網(wǎng)站,已為上家服務(wù),為烏爾禾各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

一、安裝ADO

在使用ADO之前,需要先安裝ADO。ADO是一個(gè)Microsoft Windows組件,通常安裝在系統(tǒng)的“C:\Program Files\Common Files\System\ado”目錄下。如果系統(tǒng)中沒(méi)有ADO,可以在Microsoft官網(wǎng)下載并手動(dòng)安裝。

二、連接遠(yuǎn)程數(shù)據(jù)庫(kù)

在ADO中,需要使用Connection對(duì)象來(lái)連接數(shù)據(jù)庫(kù),使用Recordset對(duì)象來(lái)獲取和處理數(shù)據(jù)。

連接遠(yuǎn)程數(shù)據(jù)庫(kù)的基本格式:

“`

Set conn = Server.CreateObject(“ADODB.Connection”)

conn.Open “Provider=SQLOLEDB; Data Source=RemoteServerName; Initial Catalog=DatabaseName; User Id=UserName; Password=Password;”

“`

其中,RemoteServerName是遠(yuǎn)程服務(wù)器名,DatabaseName是要連接的數(shù)據(jù)庫(kù)名,UserName和Password是連接遠(yuǎn)程數(shù)據(jù)庫(kù)所需的用戶名和密碼。

需要注意的是,如果遠(yuǎn)程數(shù)據(jù)庫(kù)使用的是SQL Server,需要將Provider設(shè)置為SQLOLEDB。如果使用的是Access數(shù)據(jù)庫(kù),則將Provider設(shè)置為Microsoft.Jet.OLEDB.4.0。

三、處理遠(yuǎn)程數(shù)據(jù)

連接上遠(yuǎn)程數(shù)據(jù)庫(kù)后,就可以使用Recordset對(duì)象來(lái)獲取和處理數(shù)據(jù)了。Recordset對(duì)象是ADO中的一個(gè)重要對(duì)象,用于存儲(chǔ)從數(shù)據(jù)庫(kù)中讀取的數(shù)據(jù)。

從遠(yuǎn)程數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)的基本格式:

“`

Set rs = Server.CreateObject(“ADODB.Recordset”)

rs.Open “SELECT * FROM TableName”, conn

“`

其中,TableName是要查詢的表名,conn是連接遠(yuǎn)程數(shù)據(jù)庫(kù)所使用的Connection對(duì)象。

有時(shí)候需要使用參數(shù)進(jìn)行查詢,例如查詢一個(gè)指定ID的記錄:

“`

Set cmd = Server.CreateObject(“ADODB.Command”)

cmd.ActiveConnection = conn

cmd.CommandType = adCmdText

cmd.CommandText = “SELECT * FROM TableName WHERE ID = ?”

Set param = cmd.CreateParameter(“ID”, adInteger, adParamInput)

param.Value = 123

cmd.Parameters.Append param

Set rs = cmd.Execute

“`

其中,adCmdText是CommandType屬性的一個(gè)值,表示要執(zhí)行的SQL語(yǔ)句類(lèi)型為文本;adInteger是數(shù)據(jù)類(lèi)型,表示參數(shù)的數(shù)據(jù)類(lèi)型為整數(shù);adParamInput是參數(shù)類(lèi)型,表示參數(shù)是輸入?yún)?shù)。在上面的例子中,將參數(shù)ID的值設(shè)置為123,然后執(zhí)行查詢。

四、關(guān)閉數(shù)據(jù)庫(kù)連接

在使用完連接對(duì)象和記錄集對(duì)象之后,需要優(yōu)化代碼并關(guān)閉數(shù)據(jù)庫(kù)連接,以釋放系統(tǒng)資源:

“`

rs.Close

Set rs = Nothing

conn.Close

Set conn = Nothing

“`

五、使用Try Catch處理異常

在實(shí)際開(kāi)發(fā)中,有時(shí)候會(huì)出現(xiàn)連接遠(yuǎn)程數(shù)據(jù)庫(kù)失敗的情況。為了使程序更加健壯,建議使用Try Catch語(yǔ)句處理異常。

“`

On Error Resume Next

Set conn = Server.CreateObject(“ADODB.Connection”)

conn.Open “Provider=SQLOLEDB; Data Source=RemoteServerName; Initial Catalog=DatabaseName; User Id=UserName; Password=Password;”

If Err.Number 0 Then

Response.Write “連接遠(yuǎn)程數(shù)據(jù)庫(kù)出錯(cuò)!”

Else

Response.Write “連接遠(yuǎn)程數(shù)據(jù)庫(kù)成功!”

End If

Err.Clear

On Error Goto 0

“`

在上面的例子中,使用On Error Resume Next語(yǔ)句將錯(cuò)誤處理方式設(shè)置為繼續(xù)執(zhí)行代碼,并不中斷程序。如果連接遠(yuǎn)程數(shù)據(jù)庫(kù)失敗,則通過(guò)Err.Number獲取錯(cuò)誤代碼,然后清除錯(cuò)誤信息,將錯(cuò)誤處理方式恢復(fù)為默認(rèn)值,使程序可以繼續(xù)運(yùn)行下去。

【注意事項(xiàng)】

1.在連接數(shù)據(jù)庫(kù)的過(guò)程中,需要保證用戶名和密碼的正確性,否則會(huì)出現(xiàn)連接失敗的情況。

2.在使用完連接對(duì)象和記錄集對(duì)象之后,需要關(guān)閉服務(wù)器上的數(shù)據(jù)庫(kù)連接。

3.為了使程序更加健壯,建議使用Try Catch語(yǔ)句處理異常。

4.為了提高程序的可讀性和可維護(hù)性,建議使用函數(shù)和變量來(lái)封裝數(shù)據(jù)庫(kù)連接代碼。

利用ADO實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)連接是非常重要的技能,在實(shí)際開(kāi)發(fā)中經(jīng)常遇到。本文介紹了利用ADO連接遠(yuǎn)程數(shù)據(jù)庫(kù)的技巧,包括連接遠(yuǎn)程數(shù)據(jù)庫(kù)、處理遠(yuǎn)程數(shù)據(jù)、關(guān)閉數(shù)據(jù)庫(kù)連接和使用Try Catch處理異常等方面。熟練運(yùn)用這些技巧,可以大大提高開(kāi)發(fā)效率,提高代碼質(zhì)量。

相關(guān)問(wèn)題拓展閱讀:

  • VB用ADO連接遠(yuǎn)程ACCESS數(shù)據(jù)庫(kù),怎么在VB里面設(shè)置遠(yuǎn)程機(jī)器的賬號(hào)密碼,遠(yuǎn)程放ACCESS文件的文件夾已共享
  • vb用ado控件連接數(shù)據(jù)庫(kù)
  • 用ADO怎么連接Access數(shù)據(jù)庫(kù)?

VB用ADO連接遠(yuǎn)程ACCESS數(shù)據(jù)庫(kù),怎么在VB里面設(shè)置遠(yuǎn)程機(jī)器的賬號(hào)密碼,遠(yuǎn)程放ACCESS文件的文件夾已共享

Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\” & _

遠(yuǎn)程計(jì)埋悄陸算機(jī)名 & “\共運(yùn)帆享彎頃文件夾名\數(shù)據(jù)庫(kù)文件名.mdb;Persist Security Info=False”

OK啦!

不需要在連接字符串中設(shè)置遠(yuǎn)程機(jī)器的賬戶密碼。但是你這臺(tái)電腦要訪螞羨問(wèn)一下遠(yuǎn)程電腦,只要一次訪問(wèn)成塌就可以了。團(tuán)物信

要訪問(wèn)一下遠(yuǎn)程電腦,只要一次訪問(wèn)成功就可以了。

sdfgsdf

vb用ado控件連接數(shù)據(jù)庫(kù)

vb用ado控件缺舉連接數(shù)據(jù)庫(kù)分為兩種情況,一個(gè)是Access數(shù)據(jù)庫(kù),一個(gè)是SQL server數(shù)據(jù)庫(kù)。

1)敏頌Access數(shù)據(jù)庫(kù)的代碼是

2)SQL server數(shù)據(jù)庫(kù)的代碼是

正確添加了ADO控件后,設(shè)置ADO控件的Connectionstring屬性,它指出了ADO控件和數(shù)據(jù)早梁信庫(kù)連接的字符串,打開(kāi)這個(gè)屬性的渣鎮(zhèn)屬性頁(yè),可以通過(guò)三種方式設(shè)置連接方式,常設(shè)置為OLEDB方式:

Connectionstring=”P(pán)rovider=Microsoft.Jet.OLEDB.4.0;Data Source=你的數(shù)據(jù)庫(kù)路徑”

然后設(shè)置RecordSource屬性指出可以操作的數(shù)據(jù)庫(kù)的來(lái)源(即結(jié)果字符串,可以是陸輪SQL查詢產(chǎn)生的).

在設(shè)置好后,可以用文本框(textbox)等綁定數(shù)據(jù)表中的字段進(jìn)行顯示.

用ADO怎么連接Access數(shù)據(jù)庫(kù)?

要自己創(chuàng)建這個(gè)類(lèi)(關(guān)于握穗喚ADO的類(lèi))

可以參考如下代碼族大:

ADOConn::ADOConn()

{

}

ADOConn::~ADOConn()

{

}

void ADOConn::OnInitADOConn()

{

::CoInitialize(NULL);

try

{

m_pConnection.CreateInstance(“ADODB.Connection”);

_bstr_t strConnect=”uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=AddressBook.mdb;”;//這段就是段凱連接Access數(shù)據(jù)庫(kù)

m_pConnection->Open(strConnect,””,””,adModeUnknown);

}

catch(_com_error e)

{

AfxMessageBox(e.Description());

}

}

_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)

{

try

{

if(m_pConnection==NULL)

OnInitADOConn();

m_pRecordset.CreateInstance(__uuidof(Recordset));

m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

}

catch(_com_error e)

{

e.Description();

}

return m_pRecordset;

}

BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)

{

_variant_t RecordsAffected;

try

{

if(m_pConnection==NULL)

OnInitADOConn();

m_pConnection->Execute(bstrSQL,NULL,adCmdText);

return true;

}

catch(_com_error e)

{

e.Description();

return false;

}

}

void ADOConn::ExitConnect()

{

if(m_pRecordset!=NULL)

m_pRecordset->Close();

m_pConnection->Close();

}

步驟如下:

一、用有源ODBC DSN的方法和無(wú)源OLE DB的方法連接數(shù)據(jù)庫(kù):

1、無(wú)源OLE DB:

string strConn=”P(pán)rovider=Microsoft.Jet.OLEDB.4.0 ;Data Source=intels.mdb” ;

2、有源臘敬ODBC DSN:

string strConn=”Data Source=intels”;

如果采用ADO.NET連接SQL Server或者Oracle,方法和VB中連尺搏接相應(yīng)數(shù)據(jù)陵局祥的連接字符串一致。

二、開(kāi)始連接數(shù)據(jù)庫(kù):

ADOConnection Conn = new ADOConnection(strConn);

三、執(zhí)行一個(gè)select SQL 查詢:

string strSQL = “Select id from test” ;

ADOCommand ADOCmd=new ADOCommand(conn,Conn);

Conn.Open();

ADODataReader reader;

ADOCmd.Execute(out reader);

四、得到ADODataReader中包含的數(shù)據(jù):

先執(zhí)行:

reader.Read();

然后就可以取得數(shù)值:

reader.ToString();

依次類(lèi)推。

五、delete(刪除)語(yǔ)句,insert和update相同:

strSQL=”delete from test where id=’1’”;

//strSQL=”insert into test values(’1’)”;

//strSQL=”update test set id=’1’”;

ADOCommand ADOCmd=new ADOCommand(conn,Conn);

Conn.Open();

ADOCmd.Execute();

_ConnectionPtr m_pConnection;

CoInitialize(NULL);

m_pConnection.CreateInstance(__uuidof(Connection));

// 在ADO操作中建議語(yǔ)句中要常用try…catch()來(lái)捕獲錯(cuò)誤信息,

// 因?yàn)樗袝r(shí)會(huì)經(jīng)常出現(xiàn)一些想耐灶不到的錯(cuò)誤。

try

{

// 打開(kāi)本地Access庫(kù)db1.mdb

m_pConnection->Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb”,””,””,adModeUnknown);

}

catch(_com_error e)

{

coutOpen(“SELECT * FROM Home2”,

m_pConnection.GetInterfacePtr(), // 獲取庫(kù)接庫(kù)的IDispatch指針

adOpenDynamic,

adLockOptimistic,

adCmdText);

}

catch(_com_error *e)

{

//AfxMessageBox(e->ErrorMessage());

coutErrorMessage()BOF)

m_pRecordset->MoveFirst();

else

{

coutadoEOF)

{

var = m_pRecordset->GetCollect(“ID”);

if(var.vt != VT_NULL)

strID= _com_util::ConvertBSTRToString((_bstr_t)var); //_variant_t轉(zhuǎn)字遲畝旦符串

var = m_pRecordset->GetCollect(“X”);

if(var.vt != VT_NULL)

strX=_com_util::ConvertBSTRToString((_bstr_t)var);

var = m_pRecordset->GetCollect(“Y”);

if(var.vt != VT_NULL)

strY=_com_util::ConvertBSTRToString((_bstr_t)var);

coutMoveNext();

}

}

catch(_com_error *e)

{

coutErrorMessage()Close();

m_pRecordset = NULL;

//–

//關(guān)閉數(shù)據(jù)庫(kù)連接

//–

if(m_pConnection->State)

m_pConnection->Close();

m_pConnection= NULL;

CSize本身屬于無(wú)量綱的單帶則位,不存在換算問(wèn)題。

你上面獲得的Size,本身單位就是像素。

不過(guò)CreateFont函數(shù)本身w并不能精確控制知行塌創(chuàng)建的字體,頂多創(chuàng)建一個(gè)接近你的要求的字體。

如果你的搭圓字體比例太奇怪,CreateFont是做不到和你要求一樣的。

關(guān)于ado 連接遠(yuǎn)程數(shù)據(jù)庫(kù)連接的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專(zhuān)注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。


本文標(biāo)題:利用ADO實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)連接技巧(ado連接遠(yuǎn)程數(shù)據(jù)庫(kù)連接)
本文來(lái)源:http://www.dlmjj.cn/article/djedpjh.html