❶ c++資料庫那種最快,支持多線程,或文本資料庫
選擇成品資料庫,要看之後的應用結構的才能確定用哪個快..
如果僅僅是要寫入時快,不考慮查詢情況..那當然直接把C/C++的數據結構給保存了最快..
比如保存一個struct Record,或class Record,限定好成員大小後,直接內存到磁碟的寫盤...
這樣寫最快,而讀取只能順序讀取....
另json等是交換格式不是存儲格式更不能當資料庫用哇....
❷ 如何在C/C++程序中使用資料庫
一般要看使用的資料庫。如果 操作 sql server 需要用到 ADO 驅動,這種驅動使用MFC做的包裝類比較多一些,在控制台直接編寫代碼可能稍顯繁瑣。
如果操作mysql,在安裝mysql的時候,有相應的include頭文件和庫文件,可以在自己的IDE開發環境中進行設置。
❸ 如何讓程序支持多種資料庫
看petshop的例子啊那個有個非常完整的解決方案,就是使用類工廠
我不會話uml圖就隨便畫個結構圖來說明吧
❹ c/c++大型軟體用什麼資料庫
Windows9X系列產品是偏重於桌面應用,NT server只適合中小型企業。而且windows平
台的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大數據
Oracle
能在所有主流平台上運行(包括 windows)。完全支持所有的工業標准。採用完全開放策
略。可以使客戶選擇最適合的解決方案。對開發商全力支持。
Sybase ASE
能在所有主流平台上運行(包括 windows)。 但由於早期Sybase與OS集成度不高,因此
VERSION 11.9.2以下版本需要較多OS和 DB級補丁。在多平台的混合環境中,會有一定問題。
DB2
能在所有主流平台上運行(包括windows)。最適於海量數據。DB2在企業級的應用最為廣
泛,在全球的500家最大的企業中,幾乎85%以上用DB2資料庫伺服器,而國內到97年約佔5%。
可伸縮性,並行性
SQL server
並行實施和共存模型並不成熟。很難處理日益增多的用戶數和數據卷。伸縮性有限。
Oracle
並行伺服器通過使一組結點共享同一簇中的工作來擴展windownt的能力,提供高可用性和
高伸縮性的簇的解決方案。如果windowsNT不能滿足需要,用戶可以把資料庫移到UNIX中。
Oracle的並行伺服器對各種UNIX平台的集群機制都有著相當高的集成度。
Sybase ASE
雖然有DB SWITCH來支持其並行伺服器,但由於DB SWITCH在技術層面還未成熟,且只支
持版本12.5以上的ASE SERVER,因為DB SWITCH技術需要一台伺服器充當SWITCH,從而在硬體
DB2
具有很好的並行性。DB2把資料庫管理擴充到了並行的、多節點的環境。資料庫分區是數
據庫的一部分,包含自己的數據、索引、配置文件、和事務日誌。資料庫分區有時被稱為節點
安全性
SQL server
沒有獲得任何安全證書。
Oracle Server
獲得最高認證級別的ISO標准認證。
Sybase ASE
獲得最高認證級別的ISO標准認證。
DB2
獲得最高認證級別的ISO標准認證。
性能
SQL Server
多用戶時性能不佳
Oracle
性能最高, 保持開放平台下的TPC-D和TPC-C的世界記錄。
Sybase ASE
性能接近於 SQL Server。但在UNIX平台下的並發性要優與 SQL Server。
DB2
性能較高適用於數據倉庫和在線事物處理。
客戶端支持及應用模式
SQL Server
C/S結構,只支持windows客戶,可以用ADO,DAO,OLEDB,ODBC連接.
Oracle
多層次網路計算,支持多種工業標准,可以用ODBC,JDBC,OCI等網路客戶連接。
Sybase ASE
C/S結構,可以用ODBC,Jconnect,Ct-library等網路客戶連接。
DB2
跨平台,多層結構,支持ODBC,JDBC等客戶
操作簡便
SQL Server
操作簡單,但只有圖形界面。
Oracle
較復雜,同時提供GUI和命令行,在windowsNT和unix下操作相同
Sybase ASE
較復雜,同時提供GUI和命令行。但GUI較差,常常無法及時狀態,建議使用命令行。
DB2
操作簡單,同時提供GUI和命令行,在windowsNT和unix下操作相同
使用風險
SQL server
完全重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需要時間來證明。並不十分兼
Oracle
長時間的開發經驗,完全向下兼容。得到廣泛的應用。完全沒有風險。
Sybase ASE
向下兼容, 但是ct-library 程序不益移植。
DB2
在巨型企業得到廣泛的應用,向下兼容性好。風險小。
❺ c語言資料庫。
這不是一個庫,這只是一小段代碼。資料庫的概念你還需要好好學,資料庫是一個文件,他可以存放很多數據,並對數據進行處理的。你這個程序只需要在一個資料庫下建一張表就夠用了
❻ C語言資料庫是什麼
資料庫是用來存入數據的倉庫。用戶可以對文件中的數據進行新增、查詢、更新、刪除等操作。但是C語言和資料庫是兩個東西,他們之間的關系就是C語言可以用來開發資料庫管理軟體,也可以通過C語言藉助於SQL語句來操作資料庫。
C語言普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:
其一,廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。
(6)c支持多資料庫擴展閱讀
資料庫架構
1、內層:最接近實際存儲體,亦即有關數據的實際存儲方式。
2、外層:最接近用戶,即有關個別用戶觀看數據的方式。
3、概念層:介於兩者之間的間接層。
❼ c語言能實現資料庫編寫嗎
這個要看你的平台的,什麼資料庫,什麼操作系統,什麼開發工具
目前,資料庫基本都支持SQL語言的(LZ的就是SQL語言),而不同的資料庫對C支持的方式也不同
如windwos平台,大部分資料庫都可用ADO
當然,資料庫本身也會提供C語言開發
如oracle,支持pro*c,oci等
先找本資料庫的書看下,明白SQL語言後再參考不同的平台,看下你而要的資料庫的開發方式.
❽ c語言怎樣連接資料庫
1、配置ODBC數據源。
2、使用SQL函數進行連接。
對於1、配置數據源,配置完以後就可以編程操作資料庫了。
對於2、使用SQL函數進行連接,參考代碼如下:
#include<windows.h>
#include<sql.h>
#include<sqlext.h>
void main()
{
HENV henv; //環境句柄
HDBC hdbc; //數據源句柄
HSTMT hstmt; //執行語句句柄
unsigned char datasource[]="數據源名稱"; //即源中設置的源名稱
unsigned char user[]= "用戶名"; //資料庫的帳戶名
unsigned char pwd[]= "密碼"; //資料庫的密碼
unsigned char search[]="select xm from stu where xh=0";
SQLRETURN retcode; //記錄各SQL函數的返回情況
// 分配環境句柄
retcode= SQLAllocEnv(&henv); // 等介於 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL
, &henv);
// 設置ODBC環境版本號為3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// 分配連接句柄
retcode= SQLAllocConnect(henv,&hdbc); // 等介於 SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);
//直接連接數據源
// 如果是windows身份驗證,第二、三參數可以是
,也可以是任何字串
//SQL_NTS 即 "
retcode= SQLConnect(hdbc,datasource, SQL_NTS, user, SQL_NTS , pwd, SQL_NTS );
//分配語句句柄
retcode= SQLAllocStmt(hdbc,&hstmt); // 等介於 SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
//直接執行查詢語句
retcode=SQLExecDirect(hstmt,search,SQL_NTS);
//將數據緩沖區綁定資料庫中的相應欄位(i是查詢結果集列號,queryData是綁定緩沖區,BUFF_LENGTH是緩沖區長度)
SQLBindCol(hstmt, i, SQL_C_CHAR, queryData[i-1], BUFF_LENGTH, 0);
//遍歷結果集到相應緩沖區 queryData
SQLFetch(hstmt);
/*
*對遍歷結果的相關操作,如顯示等
*/
//注意釋放順序,否則會造成未知錯誤!
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
}
❾ objective-c支持哪些資料庫
objective-c只是一種語言,不能說它支持什麼資料庫,不能這么問,因為只要平台支持他就可以操作,資料庫都有支持的平台,如sqlserver只能在win運行,不能在mac os,更不可能在手機上運行,
所以你的問題應該是
1、objective-c適合寫什麼平台的程序?
--mac os 和 ios(可以在其他平台,但一般不用)
2、而這些平台都能運行什麼資料庫 ?
---mac os 支持 sqlite、oracle...等
-- ios 支持 sqlite .. 等
❿ vc++鏈接sql2008r2 如何多資料庫多表查詢 如何鏈接
//c:.dll
#import"msado15.dll"no_namespacerename("EOF","EndOfFile")
usingnamespacestd;
int_tmain(intargc,_TCHAR*argv[])
{
::CoInitialize(NULL);
_ConnectionPtrm_pConnection=NULL;
_RecordsetPtrm_pRecordset=NULL;
m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance(__uuidof(Recordset));
_bstr_tstrConnect="Provider=SQLOLEDB.1;Password=123456;PersistSecurityInfo=True;
UserID=sa;InitialCatalog=test1;DataSource=192.168.1.3";
_bstr_tbstrSQL("selectphonefromtest1.dbo.table1whereclass='123'");
try
{
m_pConnection->Open(strConnect,"","",adModeUnknown);
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
_variant_tvstr,vuint;
while(!m_pRecordset->EndOfFile)
{
vuint=m_pRecordset->GetCollect("phone");
unsignedintuintPhone=vuint.ulVal;
//手機號
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
}
catch(_com_errore)
{
return0;
}
if(m_pConnection->State)
{
m_pConnection->Close();
}
::CoUninitialize();
return0;
}
大致流程如下 :
1. _bstr_t strConnect = "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True; User ID=sa;Initial Catalog=test1;Data Source=192.168.1.3";
需要修改成你自己的IP,sa,密碼
2. _bstr_t bstrSQL("select phone from test1.dbo.table1 where class='123'");
sql需要改成以下這種:
select phone from test1.dbo.table1 where class='123'
union
select phone from test1.dbo.table2 where class='123'
union
select phone from test2.dbo.table1 where class='123'
union
select phone from test2.dbo.table2 where class='123'
union
....
3. int 可以存下一個手機號嗎? 沒有問題?