❶ 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 可以存下一个手机号吗? 没有问题?