當前位置:首頁 » 操作系統 » 資料庫介面

資料庫介面

發布時間: 2022-02-06 20:22:49

❶ WEB網和資料庫的主要介面方式有哪四種

不理解你所說的是什麼意思.我按照自己的意思理解一下,就是前台(Asp.net,php,jsp)等和後台資料庫(sql server,oracle啥的)的連接
每種語言都有自己和後台資料庫的一組類庫,比如我是學.net的,連接資料庫有ado.net可以連接幾乎所有的主流資料庫,有一些比較偏的資料庫會自己提供類庫

而不同語言之間的訪問,比如我用asp.net想訪問java做的數據訪問層,現在比較通用的是通過web service,即一個與語言無關的中間層將其隔離

希望我的回答能有幫助~

❷ 什麼是資料庫介面和資料庫驅動程序

資料庫連接介面就是一串字元串。是第三方資料庫開發商規定用來尋找他們自己定義的驅動的。驅動當然也是他們開發的。

❸ 做個資料庫介面

9.Sql Server7.0/2000資料庫
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
::CoInitialize(NULL); // 初始化OLE/COM庫環境 ,為訪問ADO介面做准備

_RecordsetPtr m_pRecordset("ADODB.Recordset");
_ConnectionPtr m_pConnection("ADODB.Connection");

_bstr_t bstrSQL("select * from stu_info"); //查詢語句
char * query_cmd = "DELETE FROM stu_info WHERE sname = 』本拉登』";

try
{
// 創建Connection對象
m_pConnection.CreateInstance("ADODB.Connection");
// 設置連接字元串,必須是BSTR型或者_bstr_t類型
_bstr_t strConnect= "Provider=SQLOLEDB;Server=(local);Database=student; uid=sa; pwd=123;";
//若資料庫在網路上則Server為形如(192.168.1.5,3340)
//用戶sa和密碼123隻是針對我的庫
m_pConnection->Open(strConnect,"","",adModeUnknown);
if(m_pConnection==NULL)
cerr<<"Lind data ERROR!\n";
// 創建記錄集對象
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 取得表中的記錄
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);

_variant_t vsnum,vsname,vsage,vssex,vsmajor; //對應庫中的snum,sname,sage,ssex,smajor
cout << "學號 姓名 年齡 姓別 專業";
cout << "\n----------------------------------------------------------------\n";

while (!m_pRecordset->EndOfFile)
{
vsnum = m_pRecordset->GetCollect(_variant_t((long)0));//這兒給欄位編號和欄位名都可以
vsname = m_pRecordset->GetCollect("sname");
vsage = m_pRecordset->GetCollect("sage");
vssex = m_pRecordset->GetCollect("ssex");
vsmajor = m_pRecordset->GetCollect("smajor");
if (vsnum.vt != VT_NULL && vsname.vt != VT_NULL && vsage.vt != VT_NULL
&& vssex.vt != VT_NULL && vsmajor.vt != VT_NULL)
{
cout.setf(ios::left);
cout << setw(14) << (char*)(_bstr_t)vsnum;
cout << setw(14) << (char*)(_bstr_t)vsname;
cout << setw(8) << vsage.lVal;
cout << setw(8) << (char*)(_bstr_t)vssex;
cout <<setw(20) << (char*)(_bstr_t)vsmajor;
cout.unsetf(ios::left);
cout << endl;
}
m_pRecordset->MoveNext(); ///移到下一條記錄
}
cout << "\n----------------------------------------------------------------\n";
cout << "\n請輸入你要添加的學生信息\n";
cout << "學號:";
cin >> student.snum;
cout << "\n姓名:";
cin >> student.sname;
cout << "\n年齡:";
cin >> student.sage;
cout << "\n姓別:";
cin >> student.ssex;
cout << "\n專業:";
cin >> student.smajor;
m_pRecordset->MoveFirst(); //移動到第一條記錄
m_pRecordset->AddNew(); ///添加新記錄
m_pRecordset->PutCollect("snum",_variant_t(student.snum));
m_pRecordset->PutCollect("sname",_variant_t(student.sname));
m_pRecordset->PutCollect("sage",_variant_t(student.sage));
m_pRecordset->PutCollect("ssex",_variant_t(student.ssex));
m_pRecordset->PutCollect("smajor",_variant_t(student.smajor));
m_pRecordset->Update();

m_pConnection->Execute(query_cmd,NULL,1); //用Execute執行sql語句來刪除
m_pRecordset->Close(); // 關閉記錄集
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯誤信息
cerr << "\nERROR:" << (char*)e.Description();//拋出異常
}
if(m_pConnection->State)
m_pConnection->Close();
::CoUninitialize();

3.顯示表格
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
CoInitialize(NULL);
_bstr_t varSource="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=*.mdb";
//_bstr_t varSource="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
_ConnectionPtr m_pConnection(_uuidof(Connection));
m_pConnection->Open(varSource,"","",adModeUnknow);
//打開屬性為默認(adModeRead(只讀),adModeWrite(可寫),adModeReadWrite(可讀寫)等)
_RecordsetPtr m_pSet(_uuid(Recordset));
try {
HRESULT hr=m_pSet->Open(%%1,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
}
if(SUCCESSED(hr))
{
//表打開成功
}
FieldsPtr p_fields=m_pSet->Fields;
FieldPtr p_field;
_variant_t var_index;
LPCSTR field_name;
int index=0;
_bstr_t bstr_field_name;
int countfields=p_fields->GetCount();
CString *Column=new CString[countfields];
CListCtrl *pList=(CListCtrl*)GetDlgItem(%%1);//IDC_LIST_TABLEDATA
VERIFY(pList);
pList->DeleteAllItems();
for(index=0;index<countfields;index++)
{
var_index.vt=VT_I4;
var_index.IVal=index;
p_field=p_fields->Item[var_index];
bstr_field_name=p_field->GetName();
field_name=(LPCSTR)bstr_field_name;
Column[index]=field_name;
int ColumnWidth=Column[index].GetLength()*15;
pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);
}
int i=0;
_bstr_t vCol;
//pList->SetTextBkColor(RGB(122,200,122));
//pList->SetTextColor(RGB(0,0,200));
while(!m_pSet->adoEOF)
{
pList->Insert(i,atoi(i));
for(int j=0;j<countfields;j++)
{
vCol=m_pSet->GetCollect((long)j);
pList->SetItemText(i,j,vCol);
}
m_pSet->MoveNext();
i++;
}
CoUninitialize(NULL);

4.操作表格
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
CoInitialize(NULL);
_bstr_t varSource="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=*.mdb";
//_bstr_t varSource="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
_ConnectionPtr m_pConnection(_uuidof(Connection));
m_pConnection->Open(varSource,"","",adModeUnknow);
//打開屬性為默認(adModeRead(只讀),adModeWrite(可寫),adModeReadWrite(可讀寫)等)
_RecordsetPtr m_pSet(_uuid(Recordset));
try {
HRESULT hr=m_pSet->Open(%%1,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
}
if(SUCCESSED(hr))
{
//表打開成功
}
FieldsPtr p_fields=m_pSet->Fields;
FieldPtr p_field;
_variant_t var_index;
LPCSTR field_name;
int index=0;
_bstr_t bstr_field_name;
int countfields=p_fields->GetCount();
CString *Column=new CString[countfields];
CListCtrl *pList=(CListCtrl*)GetDlgItem(%%1);//IDC_LIST_TABLEDATA
VERIFY(pList);
pList->DeleteAllItems();
for(index=0;index<countfields;index++)
{
var_index.vt=VT_I4;
var_index.IVal=index;
p_field=p_fields->Item[var_index];
bstr_field_name=p_field->GetName();
field_name=(LPCSTR)bstr_field_name;
Column[index]=field_name;
int ColumnWidth=Column[index].GetLength()*15;
pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);
}
int i=0;
_bstr_t vCol;
//pList->SetTextBkColor(RGB(122,200,122));
//pList->SetTextColor(RGB(0,0,200));
while(!m_pSet->adoEOF)
{
pList->Insert(i,atoi(i));
for(int j=0;j<countfields;j++)
{
vCol=m_pSet->GetCollect((long)j);
pList->SetItemText(i,j,vCol);
}
m_pSet->MoveNext();
i++;
}
CoUninitialize(NULL);

6.關閉時斷開連接
::ExitInstance()
{
if (adStateOpen == ADOConn->State)
ADOConn->Close();
ADOConn.Release();
if(adStateOpen == m_pADOset->State)
m_pADOset->Close();
m_pADOset.Release();
return CWinApp::ExitInstance();
}

22.批量執行SQL和存儲過程
22.1、如果用ODBC訪問資料庫的話,可參考下列代碼:
CDatabase * pDatabase = new CDatabase;
TRY
{
pDatabase->OpenEx( _T("DSN=ODBCName;UID=%%1;PWD=%%2"), CDatabase::noOdbcDialog);
}
CATCH (CDBException, e)
{
delete pDatabase;
return;
}END_CATCH
SQL.Format("exec sp_Name");//有參數的話直接寫再後面
pDatabase->ExecuteSQL(SQL);
pDatabase->Close();
delete pDatabase;

22.2、用ADO調用存儲過程
_ConnectionPtr Conn = NULL;
_RecordsetPtr Rs = NULL;
_CommandPtr Cmd = NULL;
CoInitialize(NULL);
Conn.CreateInstance ( __uuidof(Connection));
Rs.CreateInstance (__uuidof(Recordset));
Cmd.CreateInstance (__uuidof(Command));
Conn->Open(L"db", L"sa", L"", adOpenUnspecified); //打開正常
//如下為_CommandPtr對象參數的賦值和調用
Cmd->ActiveConnection = Conn;
Cmd->CommandText = "SP_TEST";
//資料庫中實際存在這個測試存儲過程,select * from atable,不傳遞參數
Cmd->CommandType = adCmdStoredProc;
Cmd->Parameters->Refresh();
Rs = Cmd->Execute( NULL,NULL, adCmdUnknown ); //COM出錯。
//注釋掉的代碼為直接的SQL語句提交,運行正確。
//Cmd->ActiveConnection=Conn;
//Cmd->CommandText = "select * from atable";
//Cmd->CommandType = adCmdText;
//Cmd->Parameters->Refresh();
//Rs = Cmd->Execute(NULL,NULL,adCmdUnknown);
Rs->Close();
Conn->Close();
CoUninitialize();

❹ 資料庫介面的簡介

目前在市面上最流行的兩種資料庫介面是ODBC和JDBC。Microsoft推出的ODBC是最早的整合異質資料庫的資料庫介面,獲得極大的成功,現在已成為一種事實上的標准。訪問資料庫最常用的方法就是通過ODBC。資料庫介面就是業務程序與資料庫進行通信的技術

❺ 請教高手,什麼是介面什麼是數據介面

個人觀點:

介面可以比喻為:一個通道,兩個相互獨立的程序,通過這個介面通道,實現數據傳輸,信息交流。當然這個兩個程序都必須遵守這個介面規定的一些標准,只有共同遵守這個介面標准,才能進行正常的通信。

如:程序A 把它運行後的結果數據(比如包括:數量,單價)分別放在了,紅盒子和黑盒子里,
(即:紅盒子里放的是:數量如1000個,黑盒子里放的是:單價10元/個)
那麼其它程序,如程序B 就可以到紅盒子里讀取數量,到黑盒子里讀取單價,
按照紅盒子里放數量,黑盒子里放單價的這個事先規定好的標准,兩個程序之間進行了正常的數據傳遞。

這個事先規定或預訂好的標准,即可稱為這兩個程序之間的「介面」。

❻ 什麼是資料庫應用程序交互的主要介面

資料庫介面:是一串字元串。是第三方資料庫開發商規定用來尋找他們自己定義的驅動的。

資料庫驅動程序:是一個動態鏈接庫(DLL),用以將特定的開放式資料庫連接的數據源和另一個應用程序(客戶端)相連接。

舉一個例子:
就像電腦主板上有顯卡,如果要正常工作就需要對應的驅動,同樣資料庫其實是一個結構化存儲數據的文件,有了相應資料庫的驅動你才能對其進行操作,資料庫驅動程序有介面,其他的應用程序通過這個介面來操作資料庫。
你需要一種腳本語言來鏈接資料庫文件並對其進行操作時,你需要資料庫的相應驅動,而這種腳本語言會通過這個驅動的介面來實現鏈接

❼ 網站的資料庫查詢介面怎麼做

jsp網站,想提供介面給其他項目獲取資料庫的數據方法如下:
jsp接收參數,就跟java類接收參數一樣,用request.getParameter("參數名");獲取
網頁游戲發送上來的參數,然後調用資料庫,把需要的信息查詢出來,通過字元串或者xml或者
json總之一切你想要的數據格式,返回出來就可以了。
返回出來實現:直接利用outputstream對象write出來即可,最後記得關閉。
java.io.OutputStream os = response.getOutputStream();
os.write(buf, 0, readSize);

❽ 資料庫的API指的是什麼

作為一個編程初學者來說,API函數也許是一個時常耳聞卻感覺有些神秘的東西。單看它的復雜語法,就足令人望而生畏,但是任何事物在我們深入了解它之前,總是會有這種感覺的。我們這篇API入門教程的目的,就是要把API函數的來龍去脈告訴大家,破除對API函數的畏懼,使它成為我們編程的好助手。 大家可能在許多書上看到過API的英文全稱(Application Programming Interface),WIN32 API也就是MicrosoftWindows 32位平台的應用程序編程介面。對這個定義的理解,需要追溯到操作系統的發展歷史上,當WINDOWS操作系統開始占據主導地位的時候,開發WINDOWS平台下的應用程序成為人們的需要。而在WINDOWS程序設計領域處於發展的初期,WINDOWS程序員所能使用的編程工具唯有API函數,這些函數是WINDOWS提供給應用程序與操作系統的介面,他們猶如「積木塊」一樣,可以搭建出各種界面豐富,功能靈活的應用程序。所以可以認為API函數是構築整個WINDOWS框架的基石,在它的下面是WINDOWS的操作系統核心,而它的上面則是所有的華麗的WINDOWS應用程序。 但是,那時的WINDOWS程序開發還是比較復雜的工作,程序員必須熟記一大堆常用的API函數,而且還得對WINDOWS操作系統有深入的了解。然而隨著軟體技術的不斷發展,在WINDOWS平台上出現了很多優秀的可視化編程環境,程序員可以採用「即見即所得」的編程方式來開發具有精美用戶界面和功能強大的應用程序。 這些優秀可視化編程環境操作簡單、界面友好(諸如VB、VC++、DELPHI等),在這些工具中提供了大量的類庫和各種控制項,它們替代了API的神秘功能,事實上這些類庫和控制項都是構架在WIN32 API函數基礎之上的,是封裝了的API函數的集合。它們把常用的API函數的組合在一起成為一個控制項或類庫,並賦予其方便的使用方法,所以極大的加速了WINDOWS應用程序開發的過程。有了這些控制項和類庫,程序員便可以把主要精力放在程序整體功能的設計上,而不必過於關注技術細節。 實際上如果我們要開發出更靈活、更實用、更具效率的應用程序,必然要涉及到直接使用API函數,雖然類庫和控制項使應用程序的開發簡單的多,但它們只提供WINDOWS的一般功能,對於比較復雜和特殊的功能來說,使用類庫和控制項是非常難以實現的,這時就需要採用API函數來實現。 這也是API函數使用的場合,所以我們對待API函數不必刻來研究每一個函數的用法,那也是不現實的(能用的到的API函數有幾千個呢)。正如某位大蝦所說:API不要去學,在需要的時候去查API幫助就足夠了。參考資料: http://www.iyuanma.com

❾ 什麼是資料庫系統的核心,是用戶訪問資料庫的介面

選AXML。排除法。ODBC、JDBC、ADO都是資料庫訪問介面,而XML只是一種簡單的數據存儲語言,使用語言標記來描述數據。所以XML不屬於介面,而是語言。

❿ 如何使用sql server 資料庫介面

要實現跟資料庫連接操作,第一:寫一個資料庫連接類,第二:配置訪問資料庫基本元素,可以採用*.XML形式(配置IP,埠,用戶名,密碼等),第三:門診收費系統會提供一個介面調用資料庫連接類的。一般像在醫院或門診這地方,一般都是採用配置形式做資料庫連接的,直接拿配置文件修改一下連接IP地址就可以了,但確保資料庫伺服器上有資料庫表,有連接配置上還要提供一下伺服器IP,埠,和資料庫用戶名和密碼就可以了。在SQL SERVER2008資料庫上只做授權操作即可,授權操作可以有用戶管理裡面進行。允許該用戶查詢和修改等操作就OK了。

熱點內容
sql性能監視器 發布:2024-04-25 08:21:48 瀏覽:832
吃雞ak配置什麼最好 發布:2024-04-25 08:15:46 瀏覽:447
firefox緩存目錄 發布:2024-04-25 08:00:31 瀏覽:940
我的世界國服怎麼免費弄伺服器 發布:2024-04-25 08:00:16 瀏覽:539
javaapi源碼 發布:2024-04-25 07:51:15 瀏覽:606
怎麼在伺服器執行jmeter腳本 發布:2024-04-25 07:35:25 瀏覽:397
域名訪問https 發布:2024-04-25 07:16:56 瀏覽:414
javaie亂碼 發布:2024-04-25 07:07:15 瀏覽:602
php開發微信支付 發布:2024-04-25 06:57:38 瀏覽:317
上傳視頻最快 發布:2024-04-25 06:42:59 瀏覽:14