用MFC_ODBC操作Access数据库

用MFC_ODBC操作Access数据库
用MFC_ODBC操作Access数据库

用MFC ODBC操作Access数据库2004-06-09 11:05作者:金花胡荣强程永谊出处:论坛责任编辑:方舟

摘要:本文简要介绍了MFC ODBC的工作原理,并且通过一个应用实例,讨论了利用MFC ODBC

技术实现对Access数据源的显示,在此基础上,分析了如何设计以达到利用MFC ODBC来实现修改、增加、删除Access数据源中的记录的功能。

关键词:VC;MFC ODBC;Access;数据库

MFC ODBC数据库简述

开放数据互连(Open Database Connectivity,简称ODBC)是一种数据库的互操作平台,通过经严格定义的各个级别的ODBC接口和客户系统的初始装置,能够为应用程序提供数据库类型透明性和位置透明性,让应用程序的编写者避免了与数据源相联的复杂性。MFC的数据库扩展部分封装了使用ODBC数据资源的细节,应用程序可以直接使用MFC中的数据库扩展类,来操纵ODBC驱动程序管理器,访问数据库。进行MFC ODBC数据库开发时,所需的基础工具就是MFC ODBC数据库类的使用。利用MFC ODBC开发就是利用MFC ODBC数据库类来操纵ODBC数据源。Visual C++的大多数ODBC访问是通过MFC来完成的。Visual C++的MFC类库定义了几个数据库类,在利用MFC编程时常常用到,它们是CDatabase(数据库类)、CRecordSet(记录集类)、和CRecordView(可视记录集类)。

对于MFC ODBC数据库类来说,CDatabase类对象表示一个同数据源的连接,通过它可以对数据源进行操作。而CRecordSet对象代表从数据源中选择的一组记录的集合,也就是通常所说的记录集对象。

CRecordSet对象通常用于两种形式:动态集(dynasets)和快照集(snapshots)。动态集能与其他用户所做的更改保持同步,快照集则是数据的一个静态视图。每一种形式在记录被打开时都提供一组记录,区别在于,当用户在一个动态集里滚动到一条记录时,有其他用户或是应用程序中的其他记录集所做的更改就会相应地显示出来。CRecordView类对象能以控制的形式显示数据库记录。这个视图是直接连接到一个CRecordSet对象的表视图。

一个应用实例

本实例是某项目中的一部分,目的是实现MFC ODBC数据库与Access数据表格之间的相互操作。包括用Visual C++中的MFC ODBC技术实现对Access数据表格的内容的显示、添加、修改和删除的功能。

1、ODBC数据源的创建

笔者使用的操作系统为Windows XP,工具是Visual C++6.0。此例中建立的Access表格取名为“plc”。

在“控制面板”中双击“管理工具”图标,然后在新出现的窗口中双击“数据源(ODBC)”,在弹出的对话框中选中“用户DSN”中的“dBASE Files”,单击“添加”按钮,从弹出的对话框中选中“Microsoft Access

Driver(*.mdb)”。单击“完成”后,将弹出一个新的对话框,在数据源名及说明后的编辑框中填入表格名“plc”。

在命名数据源之后,需要把它连接到一个数据库。单击“选择”,如图1所示,得到存储在数据目录中plc.mdb的拷贝文件,选中之,单击“确定”关闭此对话框。然后单击“确定”,完成数据源的创建。

用MFC ODBC操作Access数据库

2004-06-09 11:05作者:金花胡荣强程永谊出处:论坛责任编辑:方舟

2、使用AppWizard创建一个数据库应用程序

笔者开始从AppWizard开始创建一个新的MFC AppWizard(exe)项目。命名为Jh,然后遵从以下步骤:1)在MFC AppWizard第一步对话框中,选择“单个文档”。

2)在MFC AppWizard第二步对话框中,选择“查看数据库不使用文件支持”,再单击“Data Source”。

3)在RecordSet Type组框中,选择Dynaset。在Data Source组框中,单击ODBC单选按钮,然后从下拉列表中选择plc,如图2所示,单击ok,在弹出的新的对话框中选中message,即为本项目所要操作的表。

以后几步接收缺省值,单击“完成”即可。至此,已创建一个应用程序,并且在程序中自行生成一个数据源和数据源中的一个表的相关程序,其程序清单如下:

class CJhSet : public Crecordset//基于CRecordset的CjhSet新类

{

public:

CJhSet(CDatabase* pDatabase = NULL);

DECLARE_DYNAMIC(CJhSet)

// Field/Param Data

//{{AFX_FIELD(CJhSet, CRecordset)

//对应表中一些被绑定字段的变量

CStringm_baudrate;

CStringm_type;

CStringm_unit;

CStringm_number;

CStringm_address;

CStringm_istart;

CStringm_iend;

CStringm_ostart;

CStringm_oend;

//}}AFX_FIELD

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CJhSet)

public:

virtual CStringGetDefaultConnect(); // 返回被连接的数据源名称

virtual CStringGetDefaultSQL(); // 返回数据源中所选表名称

virtual void DoFieldExchange(CFieldExchange* pFX); // RFX support

//}}AFX_VIRTUAL

// Implementation

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif};

3、实现程序的显示记录的功能

一旦AppWizard完成编写这些文件,它将启动对话框编辑器,这样就可以设计自己的表单了。CRecordView应用程序围绕着充当应用程序主窗口的对话框而创建。笔者也将使用像表单一样的对话框来显示存储在plc数据库记录域中的值。如图3所示来放置静态文本框与编辑文本框。

CJHSet类的成员变量如图4所示。所有的变量均为CString对象。由AppWizard创建的每个变量的

类型一般与相应数据库域的类型相似。除了创建成员变量,AppWizard还编写了一组数据交换函数——类似于对话框的DDX函数——来在用来显示信息的控件与定义于CRecordSet类中的数据库域之间交换信息。

为了实现数据传输,就要把每个控件与代表数据库域的CJHSet变量联系起来。笔者通过使用CJHView 来成员变量m_pSet来指向应用程序的CJHSet对象。选择每个资源ID(笔者这里未修改编辑框的默认ID),并单击Add Variable,从下拉表中直接选择相应的成员变量名。全部设置好之后单击OK,至此,运行程序,就可以实现简单的与数据库之间的数据显示功能。

用MFC ODBC操作Access数据库2004-06-09 11:05作者:金花胡荣强程永谊出处:论坛责任编辑:方舟

4、实现程序的添加、修改和删除记录的功能

在实现上述功能之前,需要按“插入->资源->DIALOG->新建”建立一个新的对话框(与图1所示对话框类似),以建立添加、修改的对象。并为此对话框建立一个基于CDialog基础类的新的类CAddDlg。其ID为

IDD_DIALOG1。

然后在JhView.cpp中加“#include "AddDlg.h"”,并为“添加记录(IDC_ADD)”键编写程序代码如下。其中已经作了详细的注解。

void CJhView::OnAdd()

{

//建立一个新的添加对话框

CAddDlgdlg;

if(dlg.DoModal()==IDOK)

{

//增加一条新的记录

m_pSet->AddNew();

//把对话框中的记录传递到记录集中

m_pSet->m_baudrate=dlg.m_br;

m_pSet->m_type=dlg.m_ty;

m_pSet->m_unit=dlg.m_un;

m_pSet->m_number=dlg.m_nu;

m_pSet->m_address=dlg.m_add;

m_pSet->m_istart=dlg.m_is;

m_pSet->m_iend=dlg.m_ie;

m_pSet->m_ostart=dlg.m_os;

m_pSet->m_oend=dlg.m_oe;

m_pSet->Update(); //把新的记录存在数据源里

m_pSet->MoveLast(); //指定当前记录为最后一条记录

UpdateData(false); //清空已输入内容

}

}

添加记录部分,应该先读出当前的记录,使其显示在添加/修改对话框中,即:

dlg.m_br=m_pSet->m_baudrate;

dlg.m_ty=m_pSet->m_type;

dlg.m_un=m_pSet->m_unit;

dlg.m_nu=m_pSet->m_number;

dlg.m_add=m_pSet->m_address;

dlg.m_is=m_pSet->m_istart;

dlg.m_ie=m_pSet->m_iend;

dlg.m_os=m_pSet->m_ostart;

dlg.m_oe=m_pSet->m_oend;

余下的与添加记录代码相同,除了不要定位“m_pSet->MoveLast();”而已。

删除记录只是需要使用Delete()成员函数删除当前记录之后移到下一个记录即可。程序清单如下:

void CJhView::OnDel()

{

try//试着删除一条记录

{

m_pSet->Delete();

}

catch(CDBException*error)

{

AfxMessageBox(error->m_strError);

error->Delete();

m_pSet->MoveFirst();

UpdateData(FALSE);

return;

}

//移到下一个记录

m_pSet->MoveNext();

//测试是否为文件末尾,是,则使用MoveLast(),而不是使用MoveNext()

if(m_pSet->IsEOF())

m_pSet->MoveLast();

UpdateData(FALSE);

}

对多个记录集的操作与对单个记录集的操作类似,只是增加了CRecordSet类的派生类。

结束语

MFC ODBC让开发人员仅仅使用很少的代码就可以完成复杂的数据库访问,并可以对数据库中的内容方便的实现添加、修改、删除等操作,从而极大地减少了软件开发的工作量,缩短了开发周期,提高了效率。而且MFC ODBC简单易学,能实现大部分ODBC API函数的功能,所以了解和掌握MFC ODBC技术,将会给大型数据库应用软件带来清晰、快捷、方便等功能。本文中的实例已经在Visual C++6.0环境下调试通过。

共3

citrix数据库连接操作手册

CitrixAppcenter无法连接到数据 库解决方法

Contents 简介 ................................................................................................................................... - 3 - 1、操作步骤.......................................................................................................................... - 3 - 2、标题2............................................................................................................................... - 5 - 3、标题3............................................................................................................................... - 5 - 4、标题4............................................................................................................................... - 5 - 5、标题5............................................................................................................................... - 5 - 6、标题6............................................................................................................................... - 5 -

实验一ACCESS数据库及表的操作

可编辑可修改 实验一数据库及表的操作 实验类型:验证性实验课时:_6_学时指导教师: _______________ 时间:2013年月日课次:第___________________ 节教学周次:第________ 周 实验分室:_______________ 实验台号:__________ 实验员:_________________ 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4?数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:建立“教学管理.accdb ”数据库,并将建好的数据库文件保存在“实验一”文件夹中。 操作步骤:

IS 1 丿小? e 叮亍 Micrtilitil ftfdwvi 口 可审业 a 站 j-t 4审时 OffiCfLC WF gm ■ *陆 (2)单击険'I 按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“ 件夹中,单击“确定”按钮,如图 1-2所示。 (3)这时返回到access 启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件 扩展名,access 将自动添加上。 (4 )在右侧窗格下面,单击“创建”命令按钮,如图 1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表 1的数据表,并以数据表视图方式打开这 个表1,如图1-3所示。 J 曰归 图1-1 创建教学管理数据库 (1 )在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库” ,在右侧窗格的文件名文本 框中,给出一个默认的文件名“” 。把它修改为“教学管理”如图 1-1所示。 实验一”文

Access数据库程序设计试题大全

1、Access数据库是(B )。 A.层次型数据库 B.关系型数据库 C.网状型数据库 D.杂合型数据库 2、在Access数据库中,数据保存在(D )对象中。 A.窗体B.查询 C.报表D.表 3、数据库文件中至少包含有(A )对象。 A.表B.窗体 C.查询D.其余三种 4、在Access数据库系统中,不能建立索引的数据类型是(C )。 A.文本型B.数字型 C.备注型D.日期/时间型 5、如果字段内容为声音文件,可将此字段定义为(C )类型。 A.文本 B.查询向导 C.OLE对象 D.备注 6、在表设计视图中,如果要限定数据的输人格式,应修改字段的(C )属性。 A.格式B.有效性规则 C.输入格式D.字段大小 7、下面有关主键的叙述正确的是(B )。 A.不同的记录可以具有重复的主键值或空值 B.一个表中的主键可以是一个或多个字段 C.在一个表中的主键只可以是一个字段 D.表中的主键的数据类型必须定义为自动编号或文本 8、下面有关表的叙述中错误的是(C )。 A.表是Access数据库中的要素之一 B.表设计的主要工作是设计表的结构 C.Access数据库的各表之间相互独立 D.可以将其他数据库的表导人到当前数据库中 9、Access是(A )办公套件中的一个重要组成部分。 A.Office B.Word C.Excel D.Lotus 10、下列(B )图标是Access的标志。 11、存储在计算机内按一定的结构和规则组织起来的相关数据的集合称为(C )。

A.数据库管理系统B.数据库系统 C.数据库D.数据结构 12、数据的完整性,是指存贮在数据库中的数据要在一定意义下确保是(B )。 A.一致的B.正确的、一致的 C.正确的D.规范化的 13、不能退出Access2003的方法是(C )。 A.选择Access2003屏幕“文件”菜单的“退出”命令 B.选择Access2003控制菜单中的“关闭”命令 C.利用快捷键+ D.利用快捷键+ 14、关系数据库是以(C )的形式组织和存放数据的。 A.一条链B.一维表 C.二维表D.一个表格 15:以下有关数据基本表的叙述,(D )是正确的。 A.每个表的记录与实体可以以一对多的形式出现 B.每个表的关键字只能是一个字段 C.在表内可以定义一个或多个索引,以便于与其他表建立关系 D.每个表都要有关键字以使表中的记录惟一 16、在Access2000中一个数据库的所有对象都存放在一个文件中,该文件的扩展名是(B )。 A..DBC B..MDB C..DBM D..DBF 17、表是数据库的核心与基础,它存放着数据库的(A )。 A.全部数据B.部分数据 C.全部对象D.全部数据结构 18、建立Access2003数据库时要创建一系列的对象,其中最重要的是创建(C )。 A.报表B.基本表 C.基本表之间的关系D.查询 19、Access2003屏幕的主菜单的菜单项是(C )。 A.基本上都有自己的子菜单 B.会根据执行的命令而有所增添或减少 C.可被利用来执行Access的几乎所有命令的 D.以上全部是正确的 20、在Access数据库窗口使用表设计器创建表的步骤依次是(A )。 A.打开表设计器、定义字段、设定主关键字、设定字段属性和表的存储 B.打开表设计器、设定主关键字、定义字段、设定字段属性和表的存储 C.打开表设计器、定义字段、设定字段的属性、表的存储和设定主关键字 D.打开表设计器、设定字段的属性、表的存储、定义字段和设定主关键字 21、在表设计器的设计视图的上半部分的表格用于设计表中的字段。表格的每一行均由四部分

数据库应用基础access考试建立表

数据库应用基础access考试建立表

————————————————————————————————作者:————————————————————————————————日期:

信息技术一类专业考试卷 数据库应用基础——Access 2010 (考试时间100分钟,满分100分) 一、单项选择题(每题1分,36小题,共36分。每题所给的四个选项中,只有一个正确答案,请选出该项) (1)用Access 2010创建“学生”数据库文件,其文件名是() A. 学生.adp B. 学生.dbf C. 学生.accdb D. 学生.mdb (2)目前大多数数据库系统,如Access,都是建立在()之上。 A.层次模型 B.关系模型C.网状模型 D. 面向对象模型 (3)数据库系统是由数据库、数据库管理系统、应用程序、()、用户等构成的人机系统。 A. 数据库管理员 B. 程序员 C. 高级程序员 D. 软件开发商 (4)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是() A. 一对一联系 B. 一对多联系 C. 多对一联系 D. 多对多联系 (5)在Access 2010中,用于存放数据库数据的是() A. 表 B. 窗体 C. 模块 D. 查询 (6)下列关于Access 2010数据库的说法,错误的是() A.数据库也可以理解为存放数据的仓库 B.一个数据库可以包含多个表 C.所有的对象都存放在同一个数据库文件中 D.表是数据库中最基本的对象,没有表也就没有其他对象 (7)在Access 2010中,表和数据库的关系是() A.一个数据库可以包含多个表B.一个表只能包含两个数据库 C.一个表可以包含多个数据库D.一个数据库只能包含一个表 (8)在Access 2010数据库中,一个关系就是一个() A. 数据库 B. 记录 C. 字段 D. 二维表 (9)要从教师表中找出职称为“教授”的教师,则需要进行的关系运算是() A. 选择 B. 投影 C. 连接 D. 自然连接 (10)要从学生关系中查询学生的姓名和年龄,则需要进行的关系运算是() A. 选择 B. 投影 C. 连接 D. 自然连接 (11)下列关于数据类型的说法,正确的是() A. 字段的另一种说法 B. 决定字段能包含哪类数据的设置 C. 一类数据库应用程序 D. 用来描述表向导允许从中选择的字段名称 (12)在一个单位的人事数据库,字段“简历”的数据类型是() A. 文本型 B. 数字型 C. 备注型 D. 日期/时间型 (13)如果在创建表中建立字段“时间”,其数据类型应当是()

Access上机操作题——报表操作

Access上机操作题之二十 ——创建报表㈠ 一、使用工具栏中“新对象:自动报表”按钮创建纵栏式报表: ●创建“学生”表的纵栏式报表,其操作步骤如下: ①打开“教学”数据库,选择“表”对象。 ②选择“学生”数据表。 ③单击工具栏中的“新对象:自动报表”按钮,选择“自动报表”选项。 ④保存此报表。 ●窗体转换为报表: 将“教学”数据库中的“学生”窗体转换为报表。其操作步骤如下: ①打开“教学”数据库,选择“窗体”对象。 ②右击“学生”窗体名,选择“另存为”命令。 ③在“另存为”对话框中的“保存类型”下拉按钮中,选择“报表”选项。 ④单击“确定”按钮。 ●学生操作训练 ⑴创建“课程”表的纵栏式报表。 ⑵创建“成绩”表的纵栏式报表。 ⑶在“职工基本情况”数据库中,创建一个基于“职工”数据表的窗体,然后再将转换为报表。 二、使用向导创建单表报表: 1、自动创建纵栏式报表: ⑴根据“学生”表创建纵栏式报表,其操作步骤如下: ①选择“插入”菜单中的“报表”命令,或选择“报表”对象后,再单击“新建”按钮。 ②选择“自动创建报表:纵栏式”选项,并选择数据来源为“学生”表后,单击“确定”按钮。 ③保存此报表。 注:自动创建表格式报表和数据表式报表的操作方法同此相似。 学生操作训练: ⑵根据“课程”表,分别创建一个纵栏式、表格式报表。 ⑶根据“成绩”表,分别创建一个纵栏式、表格式报表。 2、使用“报表向导”创建报表: ⑴使用“报表向导”建立一个基于“学生”表中“学号、姓名、性别、出生日期”等字段的简单报表。其操作步骤如下: ①选择“报表”对象,双击“使用向导创建报表”选项。 ②在“表/查询”下拉列表中选择报表的数据来源——“学生”表,然后选择在报表中要显示的字段名:学号、姓名、性别、出生日期等,最后单击“下一步”按钮。 ③设置分组:确定是否添加分组级别。暂时不添加,则直接单击“下一步”按钮。 ④设置记录的排序次序。暂时不设置排序,则直接单击“下一步”按钮。

ACCESS数据库的基本操作

ACCESS数据库的基本操作 一、建立数据库 ACCESS数据库是一个独立的文件,其扩展名为.MDB。它所包含的对象:表(Table) 、查询(Query) 、窗体、报表、数据访问页、宏、模块等。 一个数据库可以拥有多个表、多个查询及多个其它对象,而表是整个数据库的基础。 创建数据库的二种方式: 1.启动Access 2002时创建数据库 “开始,程序,Microsoft access”→“空access 数据库”→指定保存位置和文件名 2.进入Access 2002后创建数据库 “文件,新建”→“常用”选项卡上选择“数据库”→指定保存位置和文件名→“创建” 二、建立表 创建表的三种方式: 1. 使用表设计器创建表结构 2. 使用“表向导”(利用示例表)创建表结构 3. 通过输入数据直接创建表结构和记录

重点掌握:使用表设计器 创建表的步骤: 1、设计表结构 数据库窗口“表”面板→双击“使用设计器创建表”→打开“设计视图”→设计表结构→“关闭”设计视图→输入表名。 2、输入表记录 双击表名打开“数据表视图”→输入表记录→“关闭”数据表视图。 关于表的说明: 1)表的三要素:表名、记录(行)、字段(列) 2)表的定义项:表名、字段名、字段数据类型、字段属性和表的主关键字。表的可选定义项:字段说明、表的属性。 3)表的命名:字母、汉字、数字、空格和除了句号、叹号、方括号等字符以外字符的任何组合。(在同一个数据库中,表名不能重复) 关于字段的说明: 1)字段名:每一个字段都必须有一个唯一的名字。 ①字段名长度不超过64个字符。 ②字段名可以包含字母、汉字、数字、空格(但空格不能为首字符), 还可以包含大部分标点符号。 ③字段名不能出现句号(。)、叹号(!)、方括号([ ])。 ④在同一张表中,字段名不能重复使用。

ACCESS数据库考试试题及答案2复习课程

A C C E S S数据库考试试 题及答案2

西安欧亚学院2010-2011学年第二学期考试试卷 专业:课程:数据库技术应用年级:09/10级题号 一 二 三 四 五 六 总分 得分 评卷人 得分

一、单项选择题(本大题共25小题,每小题1分,共25分)在每小题列出的四个备用选项中只有一个符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、数据库系统的数据管理方式中,下列说法中不正确的是 [C] A.数据库减少了数据冗余 B. 数据库中的数据可以共享 C. 数据库避免了一切数据的重复 D. 数据库具有较高的数据独立性 2、数据库系统的核心是 [A] A.数据库管理系统 B.数据库 C. 数据模型D.数据 3、用二维表来表示实体及实体之间联系的数据模型是 [D] A.联系模型 B.层次模型 C.网状模型 D.关系模型 4、在教师表中,如果要找出姓“李”教师的记录,所采用的关系运算是 [B] A.投影B.选择C.连接D.层次 5、在Access2003中,某数据库的表中要添加一张Excel电子表格,则采用的字段类型是 [A] A.OLE 对象数据类型B.备注数据类型 C. 查阅向导数据类型D.自动编号数据类型 6、Access数据库中,表的组成是 [A] A.字段和记录B.查询和字段C.记录和窗体D.报表和字段7、有关字段类型以下叙述错误的是 [D] A.字段大小可用于设置文本类型字段的最大容量 B. 有效性规则属性是用于限制此字段输入值的表达式 C. 不同的字段类型,其字段属性有所不同 D. 可对任意类型的字段设置默认值属性 8、要修改数据表中的数据(记录),可在以下哪个选项中进行 [C] A.报表中B.数据表的查询中 C. 数据表的数据表视图中D.窗体的设计视图中 9、在Access中,如果想要查询所有姓名为2个汉字的学生记录,在准则中应输入 [D] A.“LIKE **”B.“LIKE ## ” C.“LIKE ??”D. LIKE “??” 10、若要查询成绩为60—80分之间(包括60和80)的学生信息,查询条件设置正确的是 [B] A.>=60 OR <=80 B.Between 60 and 80 C.>60 OR <80 D.IN (60,80) 11、创建交叉表查询时,最多只能选择3个行标题字段,列标题字段最多选择的个数是 [A] A.1个B.2个C.3个D.4个 12、若要查询学生信息表中“简历”字段为空的记录,在“简历”字段对应的“条件”栏中应输入 [B] A.Is not null B.Is null C.0 D.-1

SQL数据库操作步骤及代码

第2章数据库高级编程 ADO、NET就是为、NET框架而创建的,就是对ADO(ActiveX Data Objects)对象模型的扩充。ADO、NET提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源的一致访问。ADO、NET模型分为、NET Data Provider(数据提供程序)与DataSet数据集(数据处理的核心)两大主要部分。 、NET数据提供程序提供了四个核心对象,分别就是Connection、Command、DataReader 与DataAdapter对象。功能如表2-1所示。 表2-1 ADO、NET核心对象 2、1 SQL Server相关配置 在使用C#访问数据库之前,首先创建一个名为“chap2”的数据库,此数据库作为2、1节及2、2节中例题操作的默认数据库。然后创建数据表Products,表结构如表2-2所示。创建完毕后可录入初始化数据若干条。 表2-2 Products表表结构 上机课的操作中出现问题较多的地方。 1.身份验证方式 SQL Server 2012在安装时默认就是使用Windows验证方式的,但就是安装过后用户可随时修改身份验证方式。 启动SQL Server 2012 Management Studio,在“连接到服务器”对话框中选择“Windows

身份验证”连接服务器,连接成功后,在窗体左侧的“对象资源管理器”中右键单击服务器实例节点,并在弹出的快捷菜单中选择“属性”菜单项,系统将弹出“服务器属性”窗体,切换至“安全性”选项卡,如图2-1所示。 图2-1 “服务器属性”对话框-“安全性”选项卡 在“服务器身份验证”部分选择“SQL Server与Windows身份验证模式”选项,并单击【确定】按钮。系统将提示需要重新启动SQL Server以使配置生效,如图2-2所示。 图2-2 系统提示框 右键单击“对象资源管理器”的服务器实例节点,在弹出的快捷菜单中选择“重新启动”菜单项,SQL Server将重新启动服务,重启成功后即可使用混合验证方式登录SQL Server服务器。 2.添加登录账户 大部分初学者都习惯于使用SQL Server的系统管理员账号“sa”来登录数据库服务器,而在实际工作环境中使用sa账号登录服务器就是不合理的。因为很多情况下系统的数据库就是部署在租用的数据库服务器上的,此时数据库设计人员或编程人员都不可能具有sa账号的使用权限,因此在将身份验证方式修改为SQL Server与Windows混合验证后,需要为某应用程序创建一个专用的登录账户。其操作步骤描述如下。 (1)使用Windows身份验证登录SQL Server,在对象资源管理器中点击“安全性”节点前面的加号“+”,在展开后的“登录名”子节点上单击右键,如图2-3所示,并在弹出的快捷菜单中选择“新建登录名”选项。

建立一个简单的access数据库

建立一个简单的access数据库 这一节我们将学习有关数据库创建的内容,用过Access创建数据库的朋友可以略过不看。 打开Microsoft Access,选择文件-〉新建数据库,然后选择一个位置保存你的数据库文件,这里我们按它默认的命名保存。 保存数据库后我们看到的是下面的界面,双击使用设计器创建表,开始创建一个数据表。我们这里的应用你只需照着步骤一步步做下去,即使你以前从没接触过数据库也没有问题,如果你想做深层次的应用,涉及到关系结构的话,那最好还是找一本数据库的书来看看。

接下来我们设计一个用户注册用的用户信息表。双击使用设计器创建表,打开设计界面。在字段名称一栏中填入你想纪录的用户信息(最好字段名不要用中文来命名,这样以后编程的时候不会有太多麻烦,同时也要注意不要用到了数据库自己的保留字---比如temp,这样的话和数据库程序会有冲突,尽量用表名+下滑线+名称的方式来命名,比如tbl_userinfo_name,这里我们先用简单的命名处理)。我们共创建了6个字段,分别为username(保存用户注册的id)、userpass(用户注册用的密码)、usermail(用户的电子邮件地址)、reg_date(用户注册时间)、homepage(用户的个人主页地址)、phone

(用户的联系电话)。数据类型形用它默认的文本类型,字段大小为50,先面我们再来对个别字段进行处理。 一般来讲,用户名、密码、电子邮件地址、联系电话号码都不会超过50个字符(当然,如果有人恶意输入过长的字符串的话会报错,所以我们在后面的网页制作中要做一些限制),而个人主页地址呢,则可能超过---,所以我们将它的字段大小调整为200。 注册日期的时间类型改为日期/时间,*_’ 当然嘛。然后我们可以调用access自己的函数功能为他添加一个默认值,=Now() ,这表示当数据添加时,数据库系统自动以服务器当前时间作为

数据库上机操作题

Access 上机操作题(共5题,3分/题) 数据库上机操作题 1. 建立学生管理数据库,添加相应数据库表,并建立表间关系 (1)打开Access2010,建立“学生管理”数据库,并添加三个表,分别是Student、Course 和Grade。 Student Grade

(2)在Student表中以“学号”建立主键,在Course表中以“课程号”建立主键 (3)以Student与Grad表按“学号”字段建立关系,以Grad表“课程编号”字段与Course 表中“课程号”字段建立关系。 2. 根据已有学生数据库建立简单查询 (1)按照操作题1中的Student、Course和Grade三个表,建立综合查询,要求包括三个表中无重复的所有字段,并将查询结果存到新表stud中。 (2)按照学号建立参数查询,查询学号是12102105学生的基本情况和选课情况。 (3)按照分数的降序排列显示学生所有信息。 (4)将学生成绩表的Grage成绩按80%修改。 3. 基于已有的学生管理数据库,建立高级查询 (1)创建一个选择查询,查询并显示学生的平均分数,所在班级名称。 (2)显示所有分数高于80分的学生姓名所有信息。 (3)创建一个选择查询,查询开课时间在2013年中121021班级学生的选课情况。 (4)在Grade表中添加“等级”字段,将成绩在80分或以上的学生在等级字段中添加“优良”标识。 4. 建立学生基本情况及成绩情况窗体 (1)基于建立的学生管理数据库,按照性别添加照片字段数据(有照片文件夹) (2)利用自动创建窗体,所建窗体命名为“学生基本信息”; (3)利用窗体设计修改窗体,调整窗体位置,添加背景图片(有图片文件) (4)添加4个导航按钮,分别指向“下一项记录”、“前一项记录”、“最后一记录”和

access数据库习题

第1章数据库基础知识_习题 一、选择题 1.数据库系统与文件系统的主要区别是()。D A.数据库系统复杂,而文件系统简单 B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 C.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 2.在关系数据库系统中,当关系的模型改变时,用户程序也可以不变,这是(。B A.数据的物理独立性B.数据的逻辑独立性 C.数据的位置独立性D.数据的存储独立性 3.数据库三级模式中,用逻辑数据模型对用户所用到的那部分数据的描述是( A A.外模式B.概念模式C.内模式D.逻辑模式 4.以下对关系模型性质的描述,不正确的是()。C A.在一个关系中,每个数据项不可再分,是最基本的数据单位 B.在一个关系中,同一列数据具有相同的数据类型 C.在一个关系中,各列的顺序不可以任意排列 D.在一个关系中,不允许有相同的字段名 5.关系数据库中的码是指()。D A.能唯一决定关系的字段B.不可改动的专用保留字 C.关键的很重要的字段D.能唯一标识元组的属性或属性集合 6.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的()。D A.元组B.行C.记录D.属性 7.在建立表时,将年龄字段值限制在18~40之间,这种约束属于()。B A.实体完整性约束B.用户定义完整性约束 C.参照完整性约束D.视图完整性约束 8.在A ccess中,“表”是指()。A A.关系B.报表C.表格D.表单 9.在A ccess中,用来表示实体的是()。C A.域B.字段C.记录D.表 10.把E-R图转换成关系模型的过程,属于数据库设计的()。B A.概念设计B.逻辑设计C.需求分析D.物理设计 二、填空题 1.数据库是在计算机系统中按照一定的方式组织、存储和应用的数据集合。支持数据库各种操作的软件系统叫数据库管理系统。由计算机、操作系统、DBMS、数据库、应用程序及有关人员等组成的一个整体叫数据库系统 2.数据库常用的逻辑数据模型有层次模型,网状模型,关系模型,Access属于关系模型。 3.关系中能唯一区分、确定不同元组的属性或属性组合,称为该关系的。关键字 4.在关系数据库的基本操作中,从表中取出满足条件元组的操作称为选择;把两个关系中相同属性值的元组联接到一起形成新的二维表的操作称为联接;从表中抽取属性值满足条件列的操作称为投影

C#常用数据库操作方法整理

C#常用操作数据方法整理 using System.Data.SqlClient; //导入sql数据库命名空间,这样可以用sql数据库操作相关类 String ConnectionStr = "server=.;database=数据库名;uid=sa;pwd=123456;"; //数据库连接字符串,server确定数据库服务器名,database定义数据库名,uid定义数据库使用者用户名,pwd为密码。 SqlConnection conn = new SqlConnection(ConnectionStr); //建立数据库连接,只有建立连接了才能操作数据。 //也可以合在一起:SqlConnection conn = new SqlConnection(“server=.;database=数据库名; uid=sa;pwd=123456;”); String SQLString=“”; //数据操作语句放在双引号中,语句有增,删,改,查操作。 SqlCommand comm = new SqlCommand(SQLString, conn); //建立数据库命令,确定sql数据操作语句,和数据库连接。 //也可以合并,SqlCommand comm = new SqlCommand(“数据库操作语句”, conn); conn.Open(); //打开数据库,只有打开数据库,数据库命令才能被执行。 int rows = comm.ExecuteNonQuery(); SqlDataReader dr = comm.ExecuteReader(); //专门用于读取数据库数据 Object result= comm. ExecuteScalar(); //或string result= Cmd. ExecuteScalar().Tostring(); //执行数据库命令: //ExecuteNonQuery()用于增,删,改操作,返回受影响的行数; //ExecuteReader()用于查操作,返回一个SqlDataReader类的对象; //comm.ExecuteScalar()执行查找,返回从数据表中查询结果的第一行第一个单元格的数据。conn.Close();

实验一-ACCESS数据库及表的操作

实验一数据库及表的操作 实验类型:验证性实验课时: 6 学时指导教师: 时间:2013 年月日课次:第节教学周次:第周 实验分室:实验台号:实验员: 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4.数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:建立“教学管理.accdb”数据库,并将建好的数据库文件保存在“E:\实验一”文件夹中。 操作步骤: 图1-1创建教学管理数据库 (1)在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库”,在右侧窗格的文件名文本框中,给出一个默认的文件名“Database1.accdb”。把它修改为“教学管理”如图1-1所示。 (2)单击按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“E\实验一”文件夹中,单击“确定”按钮,如图1-2所示。 (3)这时返回到access启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件扩展名,access将自动添加上。 (4)在右侧窗格下面,单击“创建”命令按钮,如图1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表1的数据表,并以数据表视图方式打开这

个表1,如图1-3所示。 图1-2“文件新建数据库”对话框 (6)这时光标将位于“添加新字段”列中的第一个空单元格中,现在就可以输入添加数据,或者从另一数据源粘贴数据。 图1-3表1的数据表视图 2.使用模板创建Web数据库 要求:利用模板创建“联系人Web数据库.accdb”数据库,保存在“E:\实验一”文件夹中。 操作步骤: (1)启动Access。 (2)在启动窗口中的模板类别窗格中,双击样本模板,打开“可用模板”窗格,可以看到Access提供的12个可用模板分成两组。一组是Web数据库模板,另一组是传统数据库模板——罗斯文数据库。Web 数据库是Access2010新增的功能。这一组Web数据库模板可以让新老用户比较快地掌握Web数据库的创建,如图1-4所示 (3)选中“联系人Web数据库”,则自动生成一个文件名“联系人Web数据库.accdb”,保存位置在默认Window系统所安装时确定的“我的文档”中显示在右侧的窗格中,参见图1-3所示当然用户可以自己指定文件名和文件保存的位置,如果要更改文件名,直接在文件名文本框中输入新的文件名,如要更改数据库的保存位置,单击“浏览”按钮,再打开的“文件新建数据库”对话框中,选择数据库的保存位置。

ACCESS数据库考试试题及答案

西安欧亚学院2010-2011学年第二学期考试试卷 专业: 课程:数据库技术应用 年级:09/10级 一、单项选择题(本大题共25小题,每小题1分,共25分)在每小题列出的四个备用选项中只有一个符合 题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、数据库系统的数据管理方式中,下列说法中不正确的是 [C] A .数据库减少了数据冗余 B. 数据库中的数据可以共享 C. 数据库避免了一切数据的重复 D. 数据库具有较高的数据独立性 2、数据库系统的核心是 [A] A .数据库管理系统 B .数据库 C. 数据模型 D .数据 3、用二维表来表示实体及实体之间联系的数据模型是 [D] A .联系模型 B .层次模型 C .网状模型 D .关系模型 4、在教师表中,如果要找出姓“李”教师的记录,所采用的关系运算是 [B] A .投影 B .选择 C .连接 D .层次 学号_____________ 班级___________ 姓名________ 考场号____ 座位号____ - - -- - - - -- - - - -- - - - - - - -- - - -- -- -密 ○- - - - - - - - - - - - - - -- - - -- -- - -封 ○- - - - - - - - - - - - -- - - --- - - -- -线 ○- - - - - - - - - - -- - - - -- - - - -- - - -- - - -- 物流、会计、管理 金融、外语学院

5、在Access2003中,某数据库的表中要添加一张Excel电子表格,则采用的字段类型是 [A] A.OLE 对象数据类型B.备注数据类型 C. 查阅向导数据类型D.自动编号数据类型 6、Access数据库中,表的组成是 [A] A.字段和记录B.查询和字段C.记录和窗体D.报表和字段 7、有关字段类型以下叙述错误的是 [D] A.字段大小可用于设置文本类型字段的最大容量 B. 有效性规则属性是用于限制此字段输入值的表达式 C. 不同的字段类型,其字段属性有所不同 D. 可对任意类型的字段设置默认值属性 8、要修改数据表中的数据(记录),可在以下哪个选项中进行 [C] A.报表中B.数据表的查询中 C. 数据表的数据表视图中D.窗体的设计视图中 9、在Access中,如果想要查询所有姓名为2个汉字的学生记录,在准则中应输入 [D] A.“LIKE **”B.“LIKE ## ” C.“LIKE ??”D. LIKE “??” 10、若要查询成绩为60—80分之间(包括60和80)的学生信息,查询条件设置正确的是 [B] A.>=60 OR <=80 B.Between 60 and 80 C.>60 OR <80 D.IN (60,80) 11、创建交叉表查询时,最多只能选择3个行标题字段,列标题字段

组态软件操作指南 与数据库连接

第八章与数据库连接 本章内容 创建数据源及数据库 创建表格模板 创建记录体 对数据库的操作 数据集函数在关系库中的应用 概述 本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。数据库我们选择Access数据库,记录的内容包括:日期、时间、阀门描述、阀门状态四个字段。我们利用KingSCADA的SQL访问功能来实现。 KingSCADA SQL访问功能实现KingSCADA和其他外部数据库之间的数据传输。提供2种访问方式:一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。 记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADA的变量建立绑定关系。绑定后,可以通过SQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过SQL查询函数将数据库中对应字段数据查询并保存到绑定变量中,实现KingSCADA和关系数据库的数据交互。记录体方式只能在KingSCADA服务器端应用。 数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL语句,实现KingSCADA与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库内查询出符合SQL语句的数据集合,并在报表、曲线中进行批量数据展示。数据集方式支持在KingSCADA服务器端、C/S客户端、WEB上使用。 在这里建议采用数据集方式,更加方便、灵活。 下面具体介绍2种方式的具体使用 第一节记录体方式在关系数据库中的应用(仅参考) 一、创建数据源及数据库 以KingSCADA带的DEMO工程中的数据库为例,首先将文件从DEMO工程中拷贝到我们新建的这个培训工程中。 然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才拷贝过来的Access数据库(即),如图8-1所示:

VB创建ACCESS数据库全解 动态创建数据库、创建表,创建记录 ADO、ADOX

1: 问题的提出 在Visual Basic中,常用的数据访问接口有下列三种:数据库访问对象(DAO,Data Access Object)、远程数据库对象(RDO,Remote Data Object)和ActiveX 数据对象(ADO,ActiveX Data Object )。数据库访问技术一直在不断进步,而这三种接口的每一种都分别代表了该技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更加简单,然而更加灵活的对象模型。正因如此,越来越多的人在用VB开发数据库软件时使用ADO作为数据访问接口。在开发过程中,我们通常的使用的方法是:先使用数据库管理系统(例如:Microsoft Access)或VB中的可视化数据管理器建立好数据库和数据表结构,然后在程序中通过使用ADODC 数据库控件或引用ADO对象与数据库中的表建立连接,再通过数据库感知控件(例如:文本框、DataGrid等)来进行数据库的各种操作。在这种开发过程中,我们有时需要面对这样一个问题:如何让用户在程序运行过程中动态地建立自己所需的数据库和数据表以提高程序的灵活性呢?在程序运行过程中建立自己所需的数据库和数据表,其本质就是用代码(或者说通过编程)来建立数据库和数据表。众所周知,在Foxpro或ASP编程中,这是很容易的一件事件。那么在VB 数据库编程中又是怎样来操作的呢?在VB数据库编程中,如果使用DAO作为数据库访问接口技术,则可以用CreateDatabase结合CreateTableDef方法来实现,目前已有不少书和杂志都讲到了这种方法,本文就不再讲述了;但你如果使用的是最新的数据库访问接口技术ADO,你却发现目前的书和杂志上没有文章讲到如何用代码来建立数据库和数据表的方法,可有时我们非常需要用到这种方法,下面我们就来解决这个问题。 2: ADO与ADOX 我们先来对ADO 和ADOX进行简单的认识。在VB6中,使用ADO开发数据库应用程序时,我们要引用对象库"Microsoft ActiveX Data Objects 2.5 Library",这个东西的简称就是ADO,它是VB6数据库最核心的对象群,也是VB数据库开发人员经常所引用的对象库,在VB6中你可以看到它的各种版本,从2.0版到2.6版都有,很多人对它已经很熟悉,在此我们不再详细介绍。如果要在程序运行过程中创建数据库和表,我们还要引用对象库"Microsoft ADO Ext 2.1. For DDL Security",简称为ADOX,其库文件名为是:Msadox.dll。ADOX 是对 ADO 对象和编程模型的扩展,它将 ADO 扩展为包括创建、修改和删除模式对象,如表格和过程。它还包括安全对象,用于维护用户和组,以及授予和撤消对象的权限。ADOX的对象如下表所示:

Access上机操作题——查询操作说课材料

Access上机操作题之七 ——使用查询向导创建查询㈠ 在“教学”数据库中的“学生”、“课程”、“成绩”三张表中,完成下列操作: 1、建立表间关系: 根据“学生”表和“成绩”表中“学号”字段建立关系;根据“成绩”表和“课程”表中的“编号”字段建立关系;保存已建立的关系。 2、简单查询的创建: ⑴单表查询: 使用简单查询向导,对“学生”表创建一个名为“学生单表简单查询”,只要显示“学生,姓名,性别,出生日期,地址”等字段。 ⑵多表查询: 使用简单查询向导,对“学生”、“课程”、“成绩”表创建一个名为“学生多表简单查询”的简单查询,只要显示“学号,姓名,入学成绩,课程,成绩”等字段。 3、交叉表查询: 使用交叉表查询向导创建一个基于“学生”、“课程”、“成绩”三张表名为“学生成绩交叉查询”的查询。 ⑴若以上三张表没建立关系,则建立它们之间的关系。 ⑵建立一个包含“学生”表中“姓名”,“课程”表中“课程”,“成绩”表中“成绩”字段的简单查询。 ⑶按照书中P56—58页的②—⑤步操作。 4、重复项查询: ⑴使用重复项查询向导,在“学生”表中,查找入学成绩相同的学生。此查询命名为“入学成绩相同学生查询” ⑵使用重复项查询向导,在“学生”表中,查找出生日期相同的学生。此查询命名为“出生日期相同学生查询”。 ⑶使用重复项查询向导,在上面已建立的“学生多表选择查询”中,查找“计算机应用基础”分数相同的学生。此查询命名为“计算机应用基础分数相同查询”。 5、查找不匹配项查询: 使用查找不匹配项查询,在“学生”和“成绩”表中,查找没有成绩的学生。此查询命名为“缺考学生查询”。

Access上机操作题之八 ——使用查询向导创建查询㈡ 在“职工基本情况”数据库中的“职工”、“职工家属”、“职工工资”三张表中,完成下列操作: 1、建立表间关系: 根据“职工”表、“职工家属”和“职工工资”三张数据表中的“职工号”字段建立他们之间的关系,并保存其建立的关系。 2、简单查询的创建: ⑴单表查询: ①使用简单查询向导,对“职工”表创建一个名为“职工工作业绩单表简单查询”,只要显示“职工号,姓名,工作业绩”等字段。 ②使用简单查询向导,对“职工家属”表创建一个名为“职工爱人单表简单查询”,只显示“职工号”和“爱人姓名”字段。 ③使用简单查询向导,对“职工工资”数据表创建一个名为“职工奖金单表简单查询”,显示“职工号,奖金,保险”等字段。 ⑵多表查询: ①使用简单查询向导,创建一个基于“职工”和“职工家属”数据表,名为“职工子女多表查询”,显示“职工号,姓名,婚否,子女”等字段。 ②使用简单查询向导,创建一个基本“职工”和“职工工资”数据表,名为“职工收入多表查询”,显示“职工号,姓名,基本工资,奖金,保险”等字段。 ③使用简单查询向导,创建一个基本“职工”、“职工家属”和“职工工资”三张数据表,名为“职工情况多表查询”,显示“职工号,职工姓名,爱人姓名,子女,基本工资”等字段。 3、交叉表查询: 使用交叉表查询向导创建一个基于“职工”、“职工工资类别”、“职工工资汇总表”三张表名为“职工工资交叉查询”的查询。 ⑴根据“职工”和“职工工资汇总表”的“职工号”字段,和“职工工资类别”和“职工工资汇总表”的“编号”字段,建立以上三张数据表之间的关系。 ⑵建立一个名为“职工工资汇总查询”的简单查询,包含“职工”表中“职工号、姓名”,“职工工资类别”表中“工资类别”,“职工工资汇总表”表中“金额”字段的简单查询。 ⑶根据已建立的“职工工资汇总查询”,创建一个以“姓名”字段为行标题,“工资类别”为列标题,对每位职工工资情况进行汇总的交叉表查询,并将其命名为“职工工资交叉查询”。 4、重复项查询: ⑴使用重复项查询向导,在“职工”数据表中,查找工作业绩相同的职工。此查询命名为“工作业绩相同查询” ⑵使用重复项查询向导,在“职工工资”表中,查找基本工资相同的职工。此查询命名为“基本工资相同查询”。 ⑶使用重复项查询向导,在上面已建立的“职工工资汇总查询”中,查找“奖金”相同的职工。此查询命名为“奖金相同的职工查询”。 5、查找不匹配项查询: 使用查找不匹配项查询,在“职工”和“职工工资”表中,查找两张数据表中不匹配项的职工。此查询命名为“职工不匹配项查询”。

相关文档
最新文档