當前位置:首頁 » 編程語言 » 資料庫c語言

資料庫c語言

發布時間: 2024-07-21 18:52:06

Ⅰ c璇璦涓璁塊棶鏁版嵁搴撻兘鐢ㄥ埌浜嗗摢浜涚被錛

鍦–璇璦涓錛岃塊棶鏁版嵁搴撻氬父娑夊強浣跨敤鏁版嵁搴撴搷浣滃簱錛岃繖浜涘簱鎻愪緵浜嗕竴浜涚被鍜屽嚱鏁版潵鎵ц屾暟鎹搴撴搷浣溿傛渶甯哥敤鐨勬暟鎹搴撴搷浣滃簱鏄疧DBC錛圤pen Database Connectivity錛夛紝瀹冨厑璁鎬嬌鐢ㄦ爣鍑嗙殑API鎺ュ彛鏉ヨ繛鎺ュ拰鎿嶄綔涓嶅悓綾誨瀷鐨勬暟鎹搴撱備互涓嬫槸鍦–璇璦涓璁塊棶鏁版嵁搴撴椂鍙鑳芥秹鍙婄殑涓浜涚被鍜岀浉鍏蟲傚康錛
1. **ODBC API錛** ODBC API鏄鏁版嵁搴撹塊棶鐨勬牳蹇冿紝瀹冩彁渚涗簡涓緋誨垪鍑芥暟鐢ㄤ簬榪炴帴鏁版嵁搴撱佹墽琛孲QL鏌ヨ銆佽幏鍙栨煡璇㈢粨鏋滅瓑鎿嶄綔銆
2. **鏁版嵁搴撹繛鎺ョ被錛** 鏁版嵁搴撹繛鎺ョ被鐢ㄤ簬寤虹珛鍜岀$悊涓庢暟鎹搴撶殑榪炴帴銆傚湪ODBC涓錛屽彲浠ヤ嬌鐢╜sqlHDBC`鏁版嵁綾誨瀷琛ㄧず鏁版嵁搴撹繛鎺ュ彞鏌勩
3. **SQL璇鍙ユ墽琛岀被錛** 榪欎簺綾葷敤浜庢墽琛孲QL鏌ヨ㈣鍙ワ紝鍖呮嫭SELECT銆両NSERT銆乁PDATE銆丏ELETE絳夈傚彲浠ヤ嬌鐢╜SQLExecDirect`鍑芥暟鎵ц孲QL璇鍙ャ
4. **緇撴灉闆嗙被錛** 褰撴墽琛孲ELECT鏌ヨ㈡椂錛屼細鐢熸垚涓涓緇撴灉闆嗭紝琛ㄧず鏌ヨ㈢粨鏋溿傚彲浠ヤ嬌鐢╜SQLHSTMT`鏁版嵁綾誨瀷琛ㄧず緇撴灉闆嗗彞鏌勶紝騫朵嬌鐢╜SQLFetch`鍑芥暟鑾峰彇緇撴灉闆嗕腑鐨勬暟鎹銆
5. **閿欒澶勭悊綾伙細** 鐢ㄤ簬澶勭悊鏁版嵁搴撴搷浣滀腑鐨勯敊璇鍜屽紓甯搞傚彲浠ヤ嬌鐢╜SQLHENV`鏁版嵁綾誨瀷琛ㄧず鐜澧冨彞鏌勶紝騫朵嬌鐢╜SQLError`鍑芥暟鑾峰彇閿欒淇℃伅銆
6. **鍙傛暟鍖栨煡璇㈢被錛** 鐢ㄤ簬鎵ц屽弬鏁板寲鐨凷QL鏌ヨ錛岄槻姝SQL娉ㄥ叆絳夊畨鍏ㄩ棶棰樸
7. **浜嬪姟綆$悊綾伙細** 鐢ㄤ簬綆$悊鏁版嵁搴撶殑浜嬪姟鎿嶄綔錛屽寘鎷鎻愪氦鍜屽洖婊氫簨鍔°
8. **鏁版嵁搴撹繛鎺ユ睜綾伙細** 鏁版嵁搴撹繛鎺ユ睜鐢ㄤ簬綆$悊澶氫釜鏁版嵁搴撹繛鎺ワ紝鎻愰珮鎬ц兘鍜岃祫婧愬埄鐢ㄧ巼銆
闇瑕佹敞鎰忕殑鏄錛孋璇璦鏈韜騫舵病鏈夌被鐨勬傚康錛岃屾槸浣跨敤緇撴瀯浣撱佹寚閽堝拰鍑芥暟絳夋潵瀹炵幇闈㈠悜瀵硅薄鐨勫姛鑳姐傛暟鎹搴撴搷浣滃簱浼氭彁渚涗竴浜涙暟鎹綾誨瀷鍜屽嚱鏁版潵灝佽呮暟鎹搴撶浉鍏蟲搷浣滐紝浣嗚繖浜涘苟涓嶆槸浼犵粺鎰忎箟涓婄殑綾匯傚湪瀹為檯寮鍙戜腑錛屽彲浠ユ牴鎹鎵浣跨敤鐨勬暟鎹搴撴搷浣滃簱鐨勬枃妗e拰紺轟緥鏉ヤ簡瑙e備綍榪涜屾暟鎹搴撴搷浣溿

c語言可以連接access資料庫

#import "C:\program files\common files\system\ado\msado15.dll " no_namespace rename( "EOF ", "adoEOF ")
//#import "c:\program files\common files\system\ado\msado15.dll " rename ( "EOF ", "adoEOF ") no_namespace
#define CREATEiNSTANCE(sp,riid) { HRESULT _hr =sp .CreateInstance( __uuidof( riid ) ); \
if (FAILED(_hr)) _com_issue_error(_hr); }

#define RsITEM(rs,x) ((rs-> Fields-> Item[_variant_t(x)]-> Value))

class CHmbAdoDB
{
public:
BOOL m_bOpen;
_ConnectionPtr m_DbConn;
CString m_ErrMsg;
CString m_SQLState;
long mSqlCode;
public:
void Cancel();
BOOL IsOpen();
void RollbackTrans();
void CommitTrans();
long BeginTrans();
void Close();
BOOL Open(LPCSTR lpszConnect);
BOOL Execute(LPCTSTR lpSQL);
void ProviderError();

CHmbAdoDB()
{
}
virtual ~CHmbAdoDB()
{
}

};

class CHmbAdoDBRs : public CObject
{
public:
_RecordsetPtr m_Rs;
public:
CHmbAdoDBRs();
virtual ~CHmbAdoDBRs();
BOOL Open( CHmbAdoDB *pDB, LPCSTR szSource,long option=-1);
void Close();
void GetRs(_variant_t x,_bstr_t &ret);
void GetRs(_variant_t x,CString &ret);
BOOL IsEOF();
BOOL IsOpen();
BOOL MoveNext();
BOOL MovePrev();
BOOL MoveFirst();
BOOL MoveLast();
};

#endif // !defined(AFX_RfidAdoDB_H__7C539954_1C62_47B6_AB6E_1A5BB73A67E5__INCLUDED_) truct InitOle
{
InitOle() { ::CoInitialize(NULL); }
~InitOle() { ::CoUninitialize(); }
} _init_InitOle_;

long mSqlCode;
BOOL CHmbAdoDB::Open(LPCSTR lpszConnect)
{
try
{
CREATEiNSTANCE(m_DbConn,Connection);
m_DbConn-> Open(lpszConnect, " ", " ", adModeUnknown );
}
catch( _com_error &e)
{
return FALSE;
}
catch(...)
{
return FALSE;
}
return TRUE;
}

void CHmbAdoDB::Close()
{
if( IsOpen() )
{
m_DbConn-> Close();
}
}

long CHmbAdoDB::BeginTrans()
{
return m_DbConn-> BeginTrans();
}

void CHmbAdoDB::CommitTrans()
{
m_DbConn-> CommitTrans();
}

void CHmbAdoDB::RollbackTrans()
{
m_DbConn-> RollbackTrans();
}

void CHmbAdoDB::Cancel()
{
m_DbConn-> Cancel();
}

BOOL CHmbAdoDB::IsOpen()
{
return ( (m_DbConn-> GetState() != 0) ? TRUE : FALSE );
}

BOOL CHmbAdoDB::Execute(LPCTSTR lpSQL)
{
if (!IsOpen())
{
AfxMessageBox( "Network error, Database do not open. ");
return FALSE;
}

CString strSQL(lpSQL);
strSQL.TrimLeft();
strSQL.TrimRight();

try
{
m_DbConn-> Execute(_bstr_t(strSQL), NULL, adExecuteNoRecords);
}
catch( _com_error &e)
{
return FALSE;
}
catch(...)
{
return FALSE;
}

return TRUE;
}

void CHmbAdoDB::ProviderError()
{
// Print Provider Errors from Connection object.
// pErr is a record object in the Connection 's Error collection.
ErrorPtr pErr = NULL;

if( (m_DbConn-> Errors-> Count) > 0)
{
long nCount = m_DbConn-> Errors-> Count;

// Collection ranges from 0 to nCount -1.
for(long i = 0; i < nCount; i++)
{
pErr = m_DbConn-> Errors-> GetItem(i);
mSqlCode = pErr-> NativeError;
m_ErrMsg.Format( "SQLCODE : %ld\t%s ",mSqlCode, LPCTSTR(pErr-> Description));
m_SQLState.Format( "%s ",(char*)pErr-> SQLState);
printf( "%s // %s\n ",m_SQLState,m_ErrMsg);
}
}
m_DbConn-> Errors-> Clear();
}

CHmbAdoDBRs::CHmbAdoDBRs( )
{
}

CHmbAdoDBRs::~CHmbAdoDBRs()
{

}

BOOL CHmbAdoDBRs::Open( CHmbAdoDB *pDB, LPCSTR szSource,long option )
{
CString strSQL;
strSQL = CString(szSource);
strSQL.TrimLeft();
strSQL.TrimRight();
_variant_t vRecsAffected(0L);
// CREATEiNSTANCE( m_Rs,Recordset) ;
// m_Rs-> PutRefActiveConnection( pDB-> m_DbConn );
try
{
m_Rs = pDB-> m_DbConn-> Execute(_bstr_t(strSQL),
&vRecsAffected,
adOptionUnspecified);
m_Rs-> AddRef();
// m_Rs-> Open(szSource, vtMissing, adOpenKeyset, adLockBatchOptimistic, adOptionUnspecified);
// m_Rs-> Open(szSource, vtMissing, adOpenKeyset, adLockReadOnly, option);
// m_Rs-> Open(szSource,pDB-> m_DbConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic, adCmdText);

}
catch( _com_error &e)
{
//ErrorMessage();
m_Rs-> Close();
m_Rs-> Release();
return FALSE;
}
catch(...)
{
m_Rs-> Close();
m_Rs-> Release();
return FALSE;
}
return TRUE;
}

void CHmbAdoDBRs::Close()
{
m_Rs-> Close();
m_Rs-> Release();
}
void CHmbAdoDBRs::GetRs(_variant_t x,_bstr_t &ret)
{
ret = (m_Rs-> Fields-> Item[x]-> Value);
}

void CHmbAdoDBRs::GetRs(_variant_t x,CString &ret)
{
_bstr_t retVal;

try{
retVal = (m_Rs-> Fields-> Item[x]-> Value);
}
catch(...){

ret = " ";
return;
}

ret = CString((char*) retVal);
}

BOOL CHmbAdoDBRs::IsEOF()
{
return m_Rs-> adoEOF;
}

BOOL CHmbAdoDBRs::IsOpen()
{
return ( (m_Rs-> GetState() != 0) ? TRUE : FALSE );
}

BOOL CHmbAdoDBRs::MoveNext() { return (FAILED(m_Rs-> MoveNext()) ? FALSE : TRUE ); }
BOOL CHmbAdoDBRs::MovePrev() { return (FAILED(m_Rs-> MovePrevious()) ? FALSE : TRUE ); }
BOOL CHmbAdoDBRs::MoveFirst() { return (FAILED(m_Rs-> MoveFirst()) ? FALSE : TRUE ) ; }
BOOL CHmbAdoDBRs::MoveLast() { return (FAILED(m_Rs-> MoveLast()) ? FALSE : TRUE ) ; }
以上為一個ADO的封裝類.
c語言如何連接access資料庫
現在一般是用ADO的方法.

Ⅲ c語言如何調用Mysql資料庫文件並進行對資料庫的操作呢。

MYSQL m_sqlCon;//聲明
mysql_init(&m_sqlCon);//初始化
mysql_real_connect(&m_sqlCon, "127.0.0.1", abc, "root", "hibernate", atoi("3306"),NULL,0)//鏈接
mysql_query(&m_sqlCon, "SET NAMES GB2312"); //設置查詢編碼格式
res = mysql_query(&m_sqlCon,"select * from ms_sendlist where flag = 1 order by style desc");//查詢
mysql_query(&m_sqlCon, sql);//插入,刪除

Ⅳ C語言資料庫是什麼

資料庫是用來存入數據的倉庫。用戶可以對文件中的數據進行新增、查詢、更新、刪除等操作。但是C語言和資料庫是兩個東西,他們之間的關系就是C語言可以用來開發資料庫管理軟體,也可以通過C語言藉助於SQL語句來操作資料庫。

C語言普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:

其一,廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。

其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。


(4)資料庫c語言擴展閱讀

資料庫架構

1、內層:最接近實際存儲體,亦即有關數據的實際存儲方式。

2、外層:最接近用戶,即有關個別用戶觀看數據的方式。

3、概念層:介於兩者之間的間接層。

Ⅳ C璇璦鎬庝箞榪炴帴oracle鏁版嵁搴擄紵

瑕佸湪C璇璦涓榪炴帴Oracle鏁版嵁搴擄紝鎮ㄥ彲浠ヤ嬌鐢∣racle鎻愪緵鐨凮DBC錛圤pen Database Connectivity錛夋帴鍙f潵瀹炵幇銆備互涓嬫槸榪炴帴Oracle鏁版嵁搴撶殑涓鑸姝ラわ細

  • 紜淇濇偍宸插畨瑁呬簡閫傚綋鐨凮DBC椹卞姩紼嬪簭鍜孫racle瀹㈡埛絝杞浠躲

  • 鍦–浠g爜涓鍖呭惈蹇呰佺殑澶存枃浠訛紝濡<stdio.h>銆<stdlib.h>鍜<sql.h>銆

  • 浣跨敤ODBC鍑芥暟錛屽係QLAllocHandle()鍜孲QLConnect()錛屽垎閰嶅拰榪炴帴鏁版嵁搴撶殑鍙ユ焺銆

  • 閰嶇疆榪炴帴瀛楃︿覆錛屾寚瀹氭墍闇鐨勮繛鎺ュ弬鏁幫紝渚嬪傛暟鎹搴撳悕銆佺敤鎴峰悕鍜屽瘑鐮佺瓑淇℃伅銆

  • 浣跨敤SQLExecDirect()鍑芥暟鎵ц孲QL璇鍙ユ垨璋冪敤鐩稿叧鐨凮DBC鍑芥暟鏉ユ墽琛屽叾浠栨暟鎹搴撴搷浣滐紝濡傛煡璇㈡暟鎹銆佹彃鍏ユ暟鎹絳夈

  • 閫氳繃SQLFetch()鍑芥暟鑾峰彇鏌ヨ㈢粨鏋滈泦錛屽苟鏍規嵁闇瑕佽繘琛屽勭悊鍜岃緭鍑恆

  • 榪欏彧鏄涓涓鍩烘湰鐨勭ず渚嬶紝瀹為檯鎯呭喌鍙鑳戒細鍥犱嬌鐢ㄧ殑緙栬瘧鍣ㄥ拰鎿嶄綔緋葷粺鑰屾湁鎵涓嶅悓銆傚緩璁鍙傝冪浉鍏崇殑Oracle鍜孫DBC鏂囨。錛屼互鍙婁嬌鐢ㄩ傚簲鎮ㄧ幆澧冪殑ODBC紺轟緥浠g爜鏉ヨ繘琛屾洿鍏蜂綋鐨勬搷浣溿

熱點內容
ios應用上傳 發布:2024-09-08 09:39:41 瀏覽:438
ios儲存密碼哪裡看 發布:2024-09-08 09:30:02 瀏覽:869
opensslcmake編譯 發布:2024-09-08 09:08:48 瀏覽:653
linux下ntp伺服器搭建 發布:2024-09-08 08:26:46 瀏覽:744
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:173
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:780
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:101
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:209
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995