问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Visual C++ SQL嵌入式编程

发布网友 发布时间:2022-04-30 04:54

我来回答

1个回答

热心网友 时间:2022-04-13 15:43

以前我写的时候遇到的问题搜到的资料 你看下有帮助不

MFC 连接SQL SERVER(ODBC方式)
1、建立数据库

这一步比较简单,直接打开SQL Server Management Studio,根据自己需要设计数据库中的表,及其之间的依赖关系等等!要想设计一个完美的数据库,就必须了解数据库的基本知识。这里不再具体说了。这里我们假设我们的数据库名字为Test01

2、配置数据源

数据库设计建立完成后,它只是单独的几张表,我们并不能在程序中去访问它,因为程序并不知道数据库在哪里。因此,就要在应用程序跟数据库之间建立连接。

配置数据源说通俗了就是为数据库创建一个对外的窗口,应用程序通过这个窗口来访问数据库中的数据。具体配置步骤为:

1) 打开 控制面板--〉管理工具--〉数据源,在用户DSN面板选择 “添加”

2) 在数据源驱动程序中选择 “SQL Server” --〉完成,即打开 “创建到SQL Server 的新数据源”

3) 在“数据源名称”中填入名称,我们填 TestSQL01,然后选择 服务器,在其中选择要连接到的SQL Server服务器。(如果你电脑的SQL Server服务打开的话,就会有自己的主机名。或者选择网络上的某个SQL Server。

4) 点击 下一步 配置认证信息

5) 配置完后点击 下一步, 选中 “更改默认的数据库为”复选框,在下拉中选择自己刚才建立的要连接的数据库。 (这一步很重要,一般一个Server上会有多个数据库,如果不更改数据源的默认数据库,你 建立的数据源将连接到默认的数据库,这样就会造成程序中执行SQL语句时“对象名无效”的错误,即找不到你指定的数据表等)

6) 选择完数据库后直接 下一步--〉完成 就完成了数据源的配置。接下来会出现配置数据源的基本信息,可以通过 “测试数据源”来测试数据源是否配置成功。

3、 数据库的连接

建立完数据库,又配置好了数据源,接下来就可以在程序中通过数据源来访问数据库了。

1) 首先要在程序中引入MFC ODBC数据库的定义文件 #include <afxdb.h>

2) 定义CDataBase数据库对象, CDataBase m_db;

3) 利用CDataBase类的OpenEx函数建立和数据库的连接;

m_db.OpenEx(_T("DSN=TestSQL01;"),CDatabase::noOdbcDialog);

/*这里的TestSQL01 即为步骤2中建立的数据源,然后根据OpenEx函数格式填入参数,主要是用户名、密码之类,这里没有设置,所以就没有*/

具体连接还要捕捉OpenEx可能抛出的异常:

TRY
{
m_db.OpenEx(_T("DSN=TestSQL01;"),CDatabase::noOdbcDialog);
rs.m_pDatabase = &m_db;
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox(_T("memory exception"));
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH

4、 数据库操作

在完成了上面的步骤后,就可以使用SQL语句对数据库进行操作了。基本的操作有 查询、添加、修改、删除等。这里主要说一下查询,其他操作都与添加步骤类似。

1)查询

查询的基本步骤可以看下面的这段代码:

CString sql = _T("SELECT Password FROM UserInfo WHERE (UserID = 123“) //要执行的SQL语句

CString psd; //存放查询结果
TRY
{
rs.Open(AFX_DB_USE_DEFAULT_TYPE,sql); //打开查询记录
rs.GetFieldValue(_T("Password"),psd); //得到数据
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox(_T("memory exception"));
}
END_CATCH
2)插入

相对于查询,插入、删除、更改操作就简单得多了。 CString sql = _T("USE Test01 INSERT UserInfo(UserID,UserName) VALUES(" 123, 'Bob');

try
...{
m_db.ExecuteSQL(sql);
}
..............
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑文件编辑好如何发送给微信如何把电脑上的文件发到微信上 笔记本电脑上的文件发送到微信怎么把电脑里的文件传到手机微信 我每天早晨吃米糊放白糖有害吗? 吃糖太多对我有好处么! 适合明年工作计划开头的句子 让人耳目一新的年度工作计划开头句子锦集五十四句 个人年度工作计划开头优美句子 让上司眼前一亮的工作计划开头语收藏四十一句 工作计划开头 怎么写工作计划开头 新干线0系电动列车的运行设备 男生 是86年的虎,女生是75年的兔婚配可以吗? 2021十大品牌板材有人了解过没?通常什么品牌好? 试述嵌入式SQL语言使用要考虑 我想知道1975年男属兔和1986年女属虎的婚姻或合财方面,占卜? 怎么在微信公众号南昌联通领光猫 有什么薄的板材能直接贴瓷砖 vs编写c++控制台程用嵌入式语句exec SQL 错误说 未定义标识符 exec 这要怎么解决 我75年属兔的男人和86年属虎的女人合得来吗? vs2010 怎么写嵌入式sql? 如何学习计量经济学 75年男兔12月农历与86年女虎农历6月婚配吗 武汉大学数量经济学(计量经济学)专业考研的指定教材?包括初试与复试。 装修用板材最薄是什么板 南昌交警微信公众号外地人可以办暂住证吗 75年属兔男跟86属虎女相配吗 经济方向硕士研究生所读的课程中,中高级经济学(含宏微观)和计量经济学,一般用什么教材啊? 86年虎女6月12和75年兔男12月20的婚姻好吗? 自学计量经济学哪个教材比较好 1986年属虎和1975的兔配吗 计量经济学哪种版本好 最薄的不锈钢板材是多少厚? 嵌入式SQL怎么实现? 家庭装修板材都有哪些种类? c中 使用嵌入式 SQL需要加载什么头文件和库 vs2008中如何利用sql语句? 家具板材的种类及价格哪里能看到?想选放心板材。 如何配置vs的环境 建筑板材的种类有哪些 家里共佛祖的图和咒语虽么画? 在VS2010中怎样用C#创建数据库连接并执行sql语句 最好举个例子讲一下... 怎样在程序中嵌入SQL语句实现与数据库的交互 有做柜子背面的一种板子,很薄,但有一面是白的,一面好像软木的颜色,不知道是什么板材? vs2005怎么调用sql语句,需要加什么头文件? 小兵张嘎,这本书怎么画简笔画,跪求 求一个在VS2010环境下,一个程序从在项目中建立SQL数据库到连接上数据库的详细步骤和代码。 谁记得小时候看的一本故事书? 怎样在VC环境下调用ACCESS以及使用SQL语句? 如果不安装sql数据库在vs中能否使用sql数据库文件 如何给孩子挑选一本合适的作文书 求助,vs2013如何创建SQL数据库