当前位置: 首页 > news >正文

网站建设与管理的展望与未来租用服务器

网站建设与管理的展望与未来,租用服务器,无锡网站建设 首选无锡立威云商,软件开发代码大全ODBC:开放式数据库连接#xff0c;是为解决异构数据库#xff08;不同数据库采用的数据存储方法不同#xff09;共享而产生的。ODBC API相对来说非常复杂#xff0c;这里介绍MFC的ODBC类。 添加ODBC用户DSN 首先#xff0c;在计算机中添加用户DSN#xff1a;(WIN10下是为解决异构数据库不同数据库采用的数据存储方法不同共享而产生的。ODBC API相对来说非常复杂这里介绍MFC的ODBC类。 添加ODBC用户DSN 首先在计算机中添加用户DSN(WIN10下搜索ODBC 点添加以SQL Server为例其他类似MYSQL需要安装对应的ODBC驱动 填写DSN名称、描述IP地址本机用127.0.0.1 本机用windows用户登录其他电脑可以使用用户名密码登录 选择对应的数据库要注意 点完成后测试一下数据源 在ODBC中出现用户DSN表明添加成功。 使用MFC ODBC类 创建工程-》单文档-》在数据库支持步选择数据库 点击数据源选择上面添加的test 点确定后选择数据库中的表格只能选择一张表 点确定后创建完工程打开资源视图在主视图中添加一些控件用于显示数据库中数据 注意控件与数据库中表格进行对应示例中显示数据库表中的四列 修改视图代码直接完成控件与数据库列的绑定 在视图类中响应工具栏中的四个命令 代码如下 运行程序即可以看到数据库中数据有一个安全警告删除代码即可 添加排序、搜索功能 通过设置RecordSet的排序字段 m_strSort  重新查询数据库即可以完成按该关键字排序 通过设置RecordSet的排序字段 m_strFilter 则可以根据该字段对数据库进行搜索其实就是where子句 代码如下 视图头文件 // MFC10View.h : CMFC10View 类的接口 //#pragma onceclass CMFC10Set;class CMFC10View : public CRecordView { protected: // 仅从序列化创建CMFC10View();DECLARE_DYNCREATE(CMFC10View)public:enum{ IDD IDD_MFC10_FORM };CMFC10Set* m_pSet;// 特性 public:CMFC10Doc* GetDocument() const;// 操作 public:// 重写 public:virtual CRecordset* OnGetRecordset();virtual BOOL PreCreateWindow(CREATESTRUCT cs); protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持virtual void OnInitialUpdate(); // 构造后第一次调用virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);// 实现 public:virtual ~CMFC10View(); #ifdef _DEBUGvirtual void AssertValid() const;virtual void Dump(CDumpContext dc) const; #endifprotected:// 生成的消息映射函数 protected:DECLARE_MESSAGE_MAP() public:afx_msg void OnRecordFirst();afx_msg void OnRecordLast();afx_msg void OnRecordNext();afx_msg void OnRecordPrev();afx_msg void OnBnClickedButton1();afx_msg void OnClickedTagnames();CString m_strSel;CString m_filter;void Query();afx_msg void OnBnClickedButton2(); };#ifndef _DEBUG // MFC10View.cpp 中的调试版本 inline CMFC10Doc* CMFC10View::GetDocument() const{ return reinterpret_castCMFC10Doc*(m_pDocument); } #endif CPP文件 // MFC10View.cpp : CMFC10View 类的实现 //#include stdafx.h // SHARED_HANDLERS 可以在实现预览、缩略图和搜索筛选器句柄的 // ATL 项目中进行定义并允许与该项目共享文档代码。 #ifndef SHARED_HANDLERS #include MFC10.h #endif#include MFC10Set.h #include MFC10Doc.h #include MFC10View.h#ifdef _DEBUG #define new DEBUG_NEW #endif #include resource.h #include DevicesTable.h // CMFC10ViewIMPLEMENT_DYNCREATE(CMFC10View, CRecordView)BEGIN_MESSAGE_MAP(CMFC10View, CRecordView)// 标准打印命令ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)ON_COMMAND(ID_RECORD_FIRST, CMFC10View::OnRecordFirst)ON_COMMAND(ID_RECORD_LAST, CMFC10View::OnRecordLast)ON_COMMAND(ID_RECORD_NEXT, CMFC10View::OnRecordNext)ON_COMMAND(ID_RECORD_PREV, CMFC10View::OnRecordPrev)ON_BN_CLICKED(IDC_BUTTON1, CMFC10View::OnBnClickedButton1)ON_BN_CLICKED(IDC_TagNames, CMFC10View::OnClickedTagnames)ON_BN_CLICKED(IDC_KKSCode, CMFC10View::OnClickedTagnames)ON_BN_CLICKED(IDC_Descriptors, CMFC10View::OnClickedTagnames)ON_BN_CLICKED(IDC_PointType, CMFC10View::OnClickedTagnames)ON_BN_CLICKED(IDC_BUTTON2, CMFC10View::OnBnClickedButton2) END_MESSAGE_MAP()// CMFC10View 构造/析构CMFC10View::CMFC10View(): CRecordView(CMFC10View::IDD), m_filter(_T()) {m_pSet NULL;// TODO: 在此处添加构造代码}CMFC10View::~CMFC10View() { }void CMFC10View::DoDataExchange(CDataExchange* pDX) {CRecordView::DoDataExchange(pDX);// 可以在此处插入 DDX_Field* 函数以将控件“连接”到数据库字段例如// DDX_FieldText(pDX, IDC_MYEDITBOX, m_pSet-m_szColumn1, m_pSet);// DDX_FieldCheck(pDX, IDC_MYCHECKBOX, m_pSet-m_bColumn2, m_pSet);// 有关详细信息请参阅 MSDN 和 ODBC 示例DDX_FieldText(pDX, IDC_EDIT1, (CString)m_pSet-m_TagNames, m_pSet);DDX_FieldText(pDX, IDC_EDIT2, (CString)m_pSet-m_KKSCode, m_pSet);DDX_FieldText(pDX, IDC_EDIT3, (CString)m_pSet-m_Descriptors, m_pSet);DDX_FieldText(pDX, IDC_EDIT4, (CString)m_pSet-m_PointType, m_pSet);// DDX_Radio(pDX, IDC_TagNames, m_select);DDX_Text(pDX, IDC_FILTER, m_filter); }BOOL CMFC10View::PreCreateWindow(CREATESTRUCT cs) {// TODO: 在此处通过修改// CREATESTRUCT cs 来修改窗口类或样式return CRecordView::PreCreateWindow(cs); }void CMFC10View::OnInitialUpdate() {m_pSet GetDocument()-m_MFC10Set;CheckRadioButton(IDC_TagNames,IDC_PointType,IDC_TagNames);m_strSelTagNames;CRecordView::OnInitialUpdate();} void CMFC10View::Query() {// 默认准备m_pSet-m_strSortm_strSel;if(m_filter!)m_pSet-m_strFilterm_strSelm_filter;m_pSet-Requery();OnRecordFirst(); }// CMFC10View 打印BOOL CMFC10View::OnPreparePrinting(CPrintInfo* pInfo) {// 默认准备return DoPreparePrinting(pInfo); }void CMFC10View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) {// TODO: 添加额外的打印前进行的初始化过程 }void CMFC10View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) {// TODO: 添加打印后进行的清理过程 }// CMFC10View 诊断#ifdef _DEBUG void CMFC10View::AssertValid() const {CRecordView::AssertValid(); }void CMFC10View::Dump(CDumpContext dc) const {CRecordView::Dump(dc); }CMFC10Doc* CMFC10View::GetDocument() const // 非调试版本是内联的 {ASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CMFC10Doc)));return (CMFC10Doc*)m_pDocument; } #endif //_DEBUG// CMFC10View 数据库支持 CRecordset* CMFC10View::OnGetRecordset() {return m_pSet; }// CMFC10View 消息处理程序void CMFC10View::OnRecordFirst() {// TODO: 在此添加命令处理程序代码if(m_pSet-IsOpen()){m_pSet-MoveFirst(); this-UpdateData(false);} } void CMFC10View::OnRecordLast() {// TODO: 在此添加命令处理程序代码if(m_pSet-IsOpen()){m_pSet-MoveLast();this-UpdateData(false);} } void CMFC10View::OnRecordNext() {// TODO: 在此添加命令处理程序代码if(m_pSet-IsOpen()){m_pSet-MoveNext();this-UpdateData(false);}}void CMFC10View::OnRecordPrev() {// TODO: 在此添加命令处理程序代码if(m_pSet-IsOpen()){m_pSet-MovePrev();this-UpdateData(false);}}void CMFC10View::OnBnClickedButton1() {// TODO: 在此添加控件通知处理程序代码Query(); }void CMFC10View::OnClickedTagnames() {// TODO: 在此添加控件通知处理程序代码if(IsDlgButtonChecked(IDC_TagNames))m_strSelTagNames;if(IsDlgButtonChecked(IDC_KKSCode))m_strSelKKSCode;if(IsDlgButtonChecked(IDC_Descriptors))m_strSelDescriptors;if(IsDlgButtonChecked(IDC_PointType))m_strSelPointType;}void CMFC10View::OnBnClickedButton2() {// TODO: 在此添加控件通知处理程序代码Query(); }结论 1、MFC ODBC使用起来比较简单很容易就可以完成数据库类的生成捆绑的数据表为CRecordSet的派生类自动生成并且嵌在文档类中 对数据库中指定表的操作就是通过该对象来完成增删查改示例中视图通过获取文档类指针来获得记录集对象 2、MFC ODBC创建工程时只能添加一张表生成对应的记录集类选择多张表会合并成一个类很明显不对。如果需要对数据库中多张表格的操作可以通过类向导中选择添加ODBC类 注意使用的时候需要先Open: CDevicesTable devSet; //新增的另外一张表devSet.Open();devSet.Requery();devSet.MoveFirst(); 3、可以用表生成对应的集合类也可以用视图生成解决左右连接等跨表查询等 4、可以利用代码动态生成DSN否则在其他电脑上运行程序需要手动先创建DSN 5、很显然MFC ODBC只适用于比较简单是数据库操作复杂的数据库操作实现起来并不容易。
http://www.hkea.cn/news/14534822/

相关文章:

  • 网站开发用户登录前 登录后可以做ppt的软件
  • 网站正在备案中模板建网站用什么语言
  • 品牌化战略的重要性关键词优化公司兴田德润优惠吗
  • 网站开发海口海外域名可以在国内访问吗
  • 酥糖的网站建设的目的是什么淘宝官网登录入口
  • 阿里巴巴国际站买家入口als冰桶挑战赛的网络营销方式
  • 石家庄市住房建设局网站网页界面设计用什么软件
  • 宠物网站的设计与实现安徽网淮南频道
  • 做网站哪里最便宜企业免费网站模板
  • 个人可以建购物网站吗seo网站优化培训怎么样
  • 加盟招商推广网站如何通过psd做网站
  • 网站备案怎么做超链接crm平台
  • 重庆做网站建设深圳工业设计展2021
  • 网站建设与运营财务报表外贸网站开发公司
  • 株洲第三方网站建设哪家好哈尔滨网站建设公司有哪些
  • 网站行销网站建设销售一个月开几个单
  • 长沙公司网站高端网站建设什么是网络营销评估主要评估哪些方面
  • 国外h5建站中国国际贸易平台
  • 网站ui 特点wordpress权限配置文件
  • 珠海网站建设建站模板网络信息
  • 公司网站要什么做营业执照名称查询系统
  • 温岭网站建设公司设计logo网站有哪些免费
  • app建设网站公司简介做购实惠网站的意义
  • 个人网站设计欣赏查企业信息的软件
  • 服装网站建设任务表怎样在电脑安装wordpress
  • 五屏网站建设价位海南建设厅网站资质查询
  • 网站承载量怎么做网站建设毕业设计个人总结
  • 焦作网站建设费用国内高端网站
  • 网站项目建设计划wordpress 目录书
  • 公司网站后台密码手机端网站开发源码