导航:首页 > 编程语言 > mfcodbc数据库编程

mfcodbc数据库编程

发布时间:2023-04-23 10:30:34

① MFC ODBC 数据库编程

m_rsDataSet.m_strFilter="Desk_code='"+m_strCode;
m_rsDataSet.m_strFilter+="'";

外面一个双引号表示字符串,里面一个单引号是字符串中的一个符号。
这么说吧,如果m_strCode是abc的话
那么通过这两句后,
m_rsDataSet.m_strFilter的值就是Desk_code='abc'
这两个单引号是给数据库用的。在sql语句中表示一个字符串

② MFC ODBC数据库编程

给你个实例 只是一部分 应该有你要的全部东西了 至于变量与控件关联,用一下VC6.0的winzard就 会明白了 快捷键 ctrl+w

//////////////cpp部分
BOOL Subjectdlg::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here

CString sqlStr;
sqlStr="SELECT * FROM tb_subject";
mysubjectset = new Subjectinfo(&((CStudentsysApp*)AfxGetApp())->m_DB);
if(!mysubjectset->Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr)) //打开数据表
{
AfxMessageBox("tb_subject表打开失败!");
}

return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

bool Subjectdlg::DisplayRecord()
{
if(mysubjectset->IsEOF()&&mysubjectset->IsBOF()) //判断是否移动到了开头和结尾
{
m_subjectname = "";
m_subjectid = "";
}
else
{
if(mysubjectset->IsBOF()) //移动到了开头,就向后移动
{
mysubjectset->MoveNext();
}
else //否则前移
{
if(mysubjectset->IsEOF())
{
mysubjectset->MovePrev();
}
}
}
m_subjectname = mysubjectset->m_subject; //对应变量赋值
m_subjectid = mysubjectset->m_code;
UpdateData(FALSE);
return TRUE;

}

////////////那几个指针
Subjectinfo* mysubjectset;
Subjectinfo* mysubjectset_find;
Subjectinfo* myclass_subject_findref;

///////////
subjectinfo是连接数据源的那个类

③ mfc 中对数据库(ODBC)的操作

添加个数据库类,然后进行相关操作即可。这有什么难。
问题描述不清晰:用的什么数据库?

④ MFC中怎样ODBC将数据库连接到对话框程序

把这句话改了
if(!db1.open(_t("用户"),false,false,_t("凳瞎odbc;"燃弯),false))
倒数第二皮粗闷个参数,不仅传那个,还要传一个odbc连接字符串。
比如"odbc;dsn=数据源名称;uid=用户名;pwd=密码"
其次,建议你不要使用汉字作为数据源名称,因为汉字的编码问题,兼容性不好,很容易出现错误!

⑤ 请教高人 c++ MFC ODBC与数据库连接的问题

数据库编程的思路都是一致的:打开数据库连接-》执行SQL语句-》获得查询结果-》关闭数据库连接,不同的数据库访问技帆并术有不同的要求,比如用CAPI诘问MySql数据库的时候还得释放查询结果集。

ODBC访问数据库得配置数据源

配置ODBC数据源:打开控制面板下的“数据源”,弹出“ODBC数据源管理器”,选择DSN选项卡-》添加->你选择你的SQLServer选项,单击完成。如图然后你再按照向导提示添加。

代码中用ODBC访问数据库你得加上afxdb.h头文件,

用CDataBase类连接数据库、CRecordSet类查询记录。

现在在VC访问数据库常用的是ADO访问,你可以找一下我前面的回答有ADO访问数据库的步骤。

CDataBasem_cODBCDb;

用CDataBase类的OpenEx()函数打开闷轿歼数据库连接。连接字符串你自己构造一下。

定义一个与上面数据库相关的查询对象

CRecordSetm_cODBCRec(&m_cODBCDb);

用这个查询对象的open方法就可以执行SQL语句与数据库交互了;

现在用VC、MFC访问数据库常用的技术是ADO,学学这个吧。难点、但很实用!

导入ADO库

#import"c:.dll"no_namespacerename("EOF","adoEOF")

2、用导入的动态库的指针操作数据库.

打开数据库连接

_ConnectionPtrm_pConn;//数据库连接指针

//创建Conneciton对象

m_pConn.CreateInstance(_T("ADODB.Connection"));

用ConnectionPtr的open方法m_pConn->Open(_bstr_t(m_sConn),

_T(""),_T(""),lOptions));

m_sConn为你连接数据库的信息,你应该按照你的要求打开数据库

然后你用打开的那个连接进行操作数据库。比如

_RecordsetPtrpRec=m_pConn->Execute(_bstr_t(pszSql),NULL,CmdText);

pszSql就你要操作数据库蚂冲的SQL语句。在这个SQL语句里你可以创建表、更新表等。

用ADO访问的时候要求初始他COM库和释放COM对象

//初始化COM环境(库)

::CoInitialize(NULL);

//释放COM对象

::CoUninitialize();

⑥ 用MFC怎么用odbc 连接SQL数据库,求详解啊

首先你把数据源配置好,具体过程在网络上可以搜到,先建一个数据库,添加好你要用到的表,然后在里面选择SQL server,这些就不说了,具体在MFC中连接的时候,首先你建一个MFC项目,启运辩把你要用的对话框弄好,再新建里面找MFC ODBC使用者,会出现选悄缺择数据源的对话框,在里面找你要用到的数据库,确定后会出现选择数悄顷据库对象的对话框,可能会出现登陆的对话框,选择你要用的数据库对象就可以了,说的不是很详细,没有实际的做,凭印象的,希望可以帮到你

⑦ MFC中怎样ODBC将数据库连接到对话框程序

“未发现数据源名称并且未指定默认的驱动程序”
这个问题我也遇到过,但是在运行过一次证明能连上数据库之后出现的。这说明你的ODBC连接时静态的,就是每次程序在另一台电脑上运行时就需要重新连一下ODBC数据库。
如果你的程序没有运行过一次就裤芦搭报错,问题可能出现在两点:
1、创建ODBC数据源
你可以按照如下方法重新创建一次。单击开始—>设置->控制面板->管理工具,在其中打开“数据源”(ODBC)在找到ODBC之后会弹出一个“胡拿ODBC数据源管理器”对话框,添加数据源-〉选择数据源的驱动程序。这个软件的数据库使用的是Access,所以选择Micrsoft Access Driver(*.mdb )单击“完成”按钮,在弹出的新对话框中填入你的数据源名,单击“选择”按钮,在弹出的的“选择数据库”对话框中选择你所建的数据库(找到数据库所保存的位置)哗裤,单击“确定”按钮返回,然后单击“确定”,创建ODBC数据源完成。(注意,这里创建的数据源是Access的)。
2、是SQL语言
首先在StdAfx.h 中添加如下代码:
#include <odbcinst.h>//ODBC数据库API头文件
#include <afxdb.h>

然后在CXXAPP::InitInstance()中加添
SQLConfigDataSource(NULL,ODBC_ADD_DSN,
"Microsoft Access Driver (*.mdb)",
"DSN=数据源名称\0"
"Description=Hotel\0"
"FileType=Access\0"
"DBQ=.\\数据源名称.mdb\0"
);
按照这种方法你再试试,注意创建数据源时的数据源名称要与SQL语句中的数据源名称要一致。我知道的就这么多,希望能帮上你。

⑧ C++ODBC MFC编程数据源的显示中,绑定了数据表,却只能显示第一列的数据。怎么才能让它全部显示出来。

应该是基于CRecordView才行,这样睁渗系统会自动生成一个相应的***Set类,里面有你数据源中的所有字段和变量,同时View类里会有个自动生成的m_pSet指针,是Set类里的,这个指针直接可以操作数据库。比如我要把数据库的数据全部显示到一个报表,就是这样:
m_pSet->MoveFirst();
m_list.DeleteAllItems();//m_list是报表关联的Control型变量
do
{
CString s,s1,s2;
s.Format("%d",i+1);
s1.Format("%ld",m_pSet->m_stuId);
s2.Format("%ld",m_pSet->m_stuFamilyNum);//腔厅这4条是变量类型的转换
m_list.InsertItem(i,s);//i是一个全局变量,初始值为0,用来伍早隐计数的
m_list.SetItemText(i,1,s1);
m_list.SetItemText(i,2,m_pSet->m_stuName);
m_list.SetItemText(i,3,m_pSet->m_stuSex);
m_list.SetItemText(i,4,m_pSet->m_stuProfession);
m_list.SetItemText(i,5,m_pSet->m_stuClass);
m_list.SetItemText(i,6,m_pSet->m_stuHobby);
m_list.SetItemText(i,7,m_pSet->m_stuAddress);
m_list.SetItemText(i,8,s2);//向报表插入数据库的数据,也就是读取数据库

i++;// i 递增
m_pSet->MoveNext();//指针后移

} while(!m_pSet->IsEOF());
m_pSet->Close();

⑨ C++ MFC编程,ODBC连接SQL后,怎么让SQL数据库备份与恢复

void CMainFrame::OnBackup()
{
// TODO: Add your command handler code here
CDatabase db;
CString filename;
//构造保存文件对话框
CFileDialog filedlg(false,"",NULL,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"*.*");
if (filedlg.DoModal()==IDOK) //弹出对话框
{
filename=filedlg.GetPathName(); //获取保银察存文件的路径
if (filename!="")
{
CString strSQL;
strSQL.Format("ODBC;UID="";PWD=""; "); //默认用户名和密码
db.Open("mystudent",false,false,strSQL);

strSQL.Format("backup database student to Disk='%s'",filename); //备份数据库
db.ExecuteSQL(strSQL);
AfxMessageBox("数据库备郑冲份成功!\r\n 文件路径为:"+filename);

}
}
else return;
}

void CMainFrame::OnRecover()
{
// TODO: Add your command handler code here
CDatabase db;
CString filename;
//构造打开文件对话框
CFileDialog filedlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"所有文件(*.*)||",NULL);
if (filedlg.DoModal()==IDOK)
{
filename=filedlg.GetPathName(); //获取打开文件的路径
if (filename!="")
{
CString strSQL;
strSQL.Format("ODBC;UID="";PWD=""; ");
db.Open("mystudent",false,false,strSQL);
strSQL.Format("restore database report from disk='%s'",filename); //还喊搏歼原数据库
db.ExecuteSQL(strSQL);
AfxMessageBox("数据库还原成功");

}

}
else return;

⑩ 用 visual c++ MFC 编程 用到一个ODBC的数据库 如果将程序以及数据库全部拿到另一台电脑上还能用吗

可以的,ODBC的数据源可以是mdb文件则脊老,那么只需要把文件路径设置正确就可以,如果是SqlServer,那野孝么目孙升标机器上必须安装SqlServer才行

阅读全文

与mfcodbc数据库编程相关的资料

热点内容
java定义整数 浏览:371
怎么添加数据透视表命令 浏览:799
hk4100f与单片机连接 浏览:861
门禁钥匙加密可以复制吗 浏览:194
单片机ad采样交流信号 浏览:161
龙门铣外圆编程 浏览:518
gal编程工具 浏览:401
浙大翁恺老师用的什么编译器 浏览:592
gs5发动机压缩比 浏览:716
税控盘插上显示未检测加密盘 浏览:305
怎么潜移默化的命令一个人 浏览:115
解压笔烂了怎么补 浏览:683
db什么文件夹 浏览:868
宝骏730热车压缩机不工作 浏览:505
服务器崩溃怎么登录 浏览:899
怎么看服务器是多少c 浏览:670
趣智校园app怎么使用 浏览:155
乐家达要下什么app 浏览:346
矩阵因子分解模型算法思想 浏览:447
java6位验证码 浏览:767