VC++环境下连接SQL_Server数据库方法-实验六

合集下载

Visual C++ 6.0连接SQLServer 2005数据库的ADO方法

Visual C++ 6.0连接SQLServer 2005数据库的ADO方法

(1)Windows环境下,ODBC数据源的配置方法:1)开始→设置→控制面板→管理工具→双击“数据源(ODBC)”。

2)在ODBC数据源管理器中,单击“系统DSN”标签;单击“添加(D)”按钮,并在“列表框”中选择“SQL Server”,然后单击“完成”。

如果已经存在现有的数据源,则选择指定的数据源后,单击“配置”,转向对该数据源进行重新配置。

3)在创建到SQL Server新数据源窗口(如图10-4)中的“名称(M):”右侧,输入:VCSQLServer2005;“描述(D):”右侧,输入:VC SQL Server 2005;“服务器(S):”右侧,输入:指定服务器的位置和名称(通常使用默认服务器,输入一个英文字符半角圆点.)。

图10-4 ODBC数据源设置4)在创建到SQL Server新数据源窗口中,单击“下一步(N)>”,选择“使用网络登录ID的Windows NT验证(W)”或者“使用用户输入登录ID和密码的SQL Server(S)”(默认选择前者),然后单击“下一步(N)>”。

5)在创建到SQL Server新数据源窗口中,勾选“更改默认的数据库为(D):”,并在其下方的下拉列表框中,选择用户连接的默认数据库(本例选择:VcSqlAdoDB),然后单击“下一步(N)>”,再单击“完成”。

6)在ODBC Microsoft SQL Server安装窗口中,单击“测试数据源(T)…”,等待测试成功后,单击“确定”完成数据源配置。

(2)Windows环境下,Visual C++ 6.0连接SQLServer 2005数据库的ADO方法:1)引入ADO库定义文件,初始化COM库使用# import把动态连接库msado15.dll导入Visual C++应用程序,并生成定义ADO库的两个C++头文件:msado15.tlh和ado15.tli。

即:# import "c:Program FilesCommon FilesSystemADOmsado15.dll"no_namespace rename("EOF","EndOfFile")使用CoInitialize ()初始化COM库。

visualstudio2019连接SQLServer数据库,增删改查详细教程(C#代码)

visualstudio2019连接SQLServer数据库,增删改查详细教程(C#代码)

visualstudio2019连接SQLServer数据库,增删改查详细教程(C#代码)⼯具:1.Visual Studio 20192.SQL Server数据库(我使⽤的2008)操作:1.打开SQL Server,打开后会看到数据库的初始链接界⾯。

(如下图)2..复制上图中的“服务器名称”,然后点击“连接”,进⼊数据库。

3.打开vs,创建好⾃⼰要⽤的项⽬,我写的项⽬名称叫做:‘finnal_test’,要做的是数据库综合实习关于奖学⾦评定的管理系统4.⼯具->连接到数据库->在服务器名⾥⾯,粘贴复制的服务器名5.在下⾯选择⾃⼰要连接的数据库名称(也可以⼿动输⼊,我连接的是我⾃⼰创建的数据库:shaohui),确定6.打开“服务器资源管理器”,会看到有下图信息,点击“表”可以看到数据库⾥⾯创建的数据表连接代码:完成上述操作后只是把数据库添加到了vs⾥,要想在项⽬⾥对数据库进⾏编辑,还需要写⼀些代码。

1.打开⾃⼰的项⽬,选择项⽬->添加类类名⾃⼰起,我这⾥是SQLServerDataBase2.打开类⽂件,写⼊以下代码。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Threading.Tasks;//必要的命名空间namespace finnal_test{class SQLServerDataBase//MySqlCon部分,每个⼈不相同,后⾯我会进⾏说明,下⾯的是我计算机相应的配置private string MySqlCon = "Data Source=DESKTOP-8LDERGD\\SQLEXPRESS;Initial Catalog = shaohui; Integrated Security = True";public DataTable ExecuteQuery(string sqlStr)//⽤于查询;其实是相当于提供⼀个可以传参的函数,到时候写⼀个sql语句,存在string⾥,传给这个函数,就会⾃动执⾏。

VS与SQL Server的连接

VS与SQL Server的连接

VS与SQL Server的连接在此用Visual Studio 2010与SQL Server2008做示例。

以下简称vs2010 和sql20081.安装vs2010和sql2008。

安装sql2008的时候设置登录模式为混合模式,将SQL server 身份验证的登录名设为sa,密码为123。

2.打开sql2008,用SQL server 身份验证模式登录进去后,建一个数据库名为stu。

3. 打开vs2010,点击导航栏中的文件→新建→网站将网站名取为STU。

4.点击确定后在右侧找到解决方案资源管理器。

若没有,单击导航栏中视图即可找到。

在解决方案资源管理器中可以看到刚刚我们建的网站STU,在STU中有一个Web.config的文件,双击打开后,我们在<configuration></configuration>里面添加以下代码:<add name="StudentCnnString"connectionString="data source=localhost; Initial Catalog=stu;User ID=sa;Pwd=123"/>这样就配置好了。

5.现在讲下某个页面做连接数据库的测试。

新建一个web窗体,名为test.aspx.,我们在.aspx文件中,从工具箱(若没找到,同样可以从视图中看到)中拖一个Label过来,系统自动给它的命名是Label1。

(这里就不详细讲述如何创建)打开它的.cs文件,首先添加下面三个命名空间:using System.Data;using System.Data.SqlClient;using System.Configuration;然后在Page_Load中添加如下代码:string strCnn =ConfigurationManager.ConnectionStrings["StudentCnnString"].ConnectionString;SqlConnection cnn = new SqlConnection(strCnn);SqlCommand cmd = new SqlCommand();cmd.Connection = cnn;cnn.Open();Label1.Text=”成功建立数据库连接”;cnn.Close();这便是连接数据库的过程。

C#连接sqlServer数据库

C#连接sqlServer数据库

C#连接sqlServer数据库连接sqlServer数据库⼀.创建数据库在⽤[Microsoft SQL Server Management Studio]⼯具,建⽴⼀个数据库,然后执⾏下⾯脚本CREATE TABLE [dbo].[Company]([Id] [int] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](500) NULL,[CreateTime] [datetime] NOT NULL,[CreatorId] [int] NOT NULL,[LastModifierId] [int] NULL,[LastModifyTime] [datetime] NULL,CONSTRAINT [PK_Company] PRIMARY KEY CLUSTERED([Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]GOINSERT INTO [dbo].[Company]([Name],[CreateTime],[CreatorId],[LastModifierId],[LastModifyTime])VALUES('腾讯','2020-05-26',1,1,'2020-05-26')⼆.⼆.设置App.config中的连接字符串,如下Data Source=服务器名;Database=数据库名;User ID=⽤户名;Password=密码,这些参数需要根据⾃⼰的情况,重新设置<?xml version="1.0" encoding="utf-8" ?><configuration><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /></startup><connectionStrings><add name="DBConnect" connectionString="Data Source=localhost;Database=Text_DB;User ID=sa;Password=123"/></connectionStrings></configuration>三,执⾏下⾯的代码1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using System.Data.SqlClient;7using System.Configuration;8using Ruanmou.Model;9using System.Reflection;1011namespace _001_Text12 {13class Program14 {15///<summary>16///从App.config中获取连接数据库字符串17///</summary>18private static string SqlServerConnString = ConfigurationManager.ConnectionStrings["DBConnect"].ConnectionString;19static void Main(string[] args)20 {21 Company commpany = Find<Company>(1);22 Console.WriteLine();23 Console.WriteLine(commpany.CreateTime);24 Console.WriteLine(commpany.CreatorId);25 Console.ReadKey();26 }27public static T Find<T>(int id)28 {29 Type type = typeof(T);30string columnString = string.Join(",", type.GetProperties().Select(p => $"[{p.GetColumnName()}]"));31string sql = $"SELECT {columnString} FROM [{}]";32 T t = (T)Activator.CreateInstance(type);33using (SqlConnection conn = new SqlConnection(SqlServerConnString))34 {35 SqlCommand command = new SqlCommand(sql, conn);36 conn.Open();37 SqlDataReader reader = command.ExecuteReader();38while (reader.Read())39 {40foreach (var prop in type.GetProperties())41 {42 prop.SetValue(t, reader[] is DBNull ? null : reader[]);43 }44 }45 }46return t;47 }48 }4950///<summary>51///扩展⽅法,静态类,静态字段,this这⼏个特征组成的52///</summary>53public static class AttributeHelper54 {55public static string GetColumnName(this PropertyInfo prop)56 {57if (prop.IsDefined(typeof(ColumnAttribute), true))58 {59 ColumnAttribute columnName = (ColumnAttribute)prop.GetCustomAttribute(typeof(ColumnAttribute), true); 60return columnName.GetColumnName();61 }62else63 {64return ;65 }66 }67 }6869///<summary>70///反射类71///</summary>72 [AttributeUsage(AttributeTargets.Property)]//表⽰此反射类只能修饰属性73public class ColumnAttribute : Attribute74 {75private string _ColumnName = string.Empty;76public ColumnAttribute(string name)77 {78this._ColumnName = name;79 }80public string GetColumnName()81 {82return _ColumnName;83 }84 }85 }执⾏结果如下图四,知识补充连接数据,主要⽤到了3个类1>数据库连接类:SqlConnetion位于System.Data.SqlClient的命名空间下2>数据库命令类:SqlCommand主要执⾏对数据库的操作,⽐如插⼊、删除、修改等3>数据库读取类:SqlDataReader是SqlCommand执⾏了查询操作后,返回的数据类型其中,三个⽐较常⽤的⽅法ExecuteNonQuery():提交⽆查询结果的SQL语句,如UPDATE,INSERT,DELETE等语句,其返回值为数据库中被SQL语句影响的⾏数; ExecuteReader():提交SELECT语句,返回值是⼀个数据流,⾥⾯是SELECT语句的查询结果,可以⽤SqlDataReader对象来接收,然后调⽤其Read()⽅法来逐⾏读出查询结果;ExexuteScalar():提交SELECT语句,但是其返回值是查询结果的第⼀⾏第⼀列,所以适⽤于例如COUNT等聚合查询。

VC++与SQLServer连接语句(5篇)

VC++与SQLServer连接语句(5篇)

VC++与SQLServer连接语句(5篇)第一篇:VC++与SQL Server连接语句1.ADO连接SQL Server数据库Connection语句:“Provider=SQLOLEDB.1;DataSource=serverName;Initial Catalog=databaseName;UserID=user;Password=userPassWord;”其中serverName:SQL Server的名字,本地的默认为(local),注意:local两边是有“(”,“)”的;databaseName:要连接的SQL Server数据库的名字,如abc;user:为用 SQL Server 的用户名称,默认为sa;userPassWord:SQL Server用户密码,默认为空(但是不提倡)2.例如:try //try{...}catch(...){...}是用于异常捕捉的,以便出错提示{// 打开本地SQL库XSCJ;//下面有“”,用于换行操作m_pConnection->Open(“Provider=SQLOLEDB.1;DataSource=(local);Initial Catalog=XSCJ;User ID=sa;Password=223;”,“",”“,adModeUnknown);/*adModeUnknown为Options是连接选项,用于指定Connection对象对数据的更新许可权,Options可以是如下几个常量: adModeUnknown:缺省。

当前的许可权未设置adModeRead:只读adModeWrite:只写adModeReadWrite:可以读写adModeShareDenyRead:阻止其它Connection对象以读权限打开连接adModeShareDenyWrite:阻止其它Connection对象以写权限打开连接adModeShareExclusive:阻止其它Connection对象打开连接adModeShareDenyNone:允许其它程序或对象以任何权限建立连接*/}catch(_com_error e)/*捕捉异常*/{AfxMessageBox(”数据库连接失败,确认SQL servers数据库是否已经开启!“);return FALSE;}// AfxMessageBox(”成功连接SQL数据库!");其中上语句连接本地SQL Server(local);数据库xscl;用户为sa;密码为223;m_pConnection为 _ConnectionPtr 智能指针类型第二篇:sqlserver分页语句QL Server 2000/2005 分页SQL —单条SQL语句有关分页SQL 的资料很多,有的使用存储过程,有的使用游标。

在VC++中用ODBC访问SQL Server数据库

在VC++中用ODBC访问SQL Server数据库

在VC++中用ODBC访问SQL Server数据库ODBC(Open Database Connectivity,开放数据库连接)是由Microsoft定义的一种数据库访问标准,它提供了一种标准的数据库访问方法以访问不同数据库提供商的数据库,其本质上是一组数据库访问API.虽然数据库访问有多种方法,但ODBC以其编程相对简单,在实际编程中被广泛使用。

V C++中提供了一组封装了ODBC API的MFC ODBC类,以减少程序代码编写量。

在V C++中使用MFC ODBC类访问数据库时,一般都是先配置或选择已有的数据源,再构造CDatabase类对象,打开数据源,用该数据库类对象和SQL(结构化查询语言)可以对库进行访问,再构造CRecordset类或其继承类对象,用数据集类对象和SQL可以实现对库中的表的操作。

在VC++中用MFC ODBC类操作SQL Server 数据库基本上也是这个思路。

1.配置数据源在程序中根据用户选择动态配置数据源而不调用ODBC数据源管理器,对于应用程序开发有时是十分必要的。

毕竟ODBC数据源管理器对于对数据库不熟悉的用户显的复杂了,且ODBC数据源管理器的界面风格有可能与整个应用程序的界面风格不一致,对于严谨的应用程序开发者来说,这些都是不能容忍的。

配置SQL Server数据源时,必须有SQL Server服务器名和服务器中的目标数据库名(否则打开该数据源时,就会弹出配置数据源对话框或失败)。

这与配置Access等数据库的数据源时指定数据库文件的路径不同。

可以通过ODBC API函数SQLBrowseConnect得到本地所有的SQL Server服务器、服务器中的库、语言信息等。

其使用方法如下所示:①得到服务器名SQLBrowseConnect(hdbc, "DRIVER={SQL Server};", SQL_NTS,BrowseResult, sizeof(BrowseResult), &BrowseResultLen);其中hdbc是用SQLAllocHandle函数得到的连结句柄,第二个参数是指定连结属性的输入字符串,第三个参数是输入字符串的长度,第四个参数是输出字符串的指针,我们要得到的信息就存于这个字符串中,第五个参数指定输出字符串的长度,第六个参数是实际返回字符串的长度。

VC++环境下连接SQL_Server数据库方法指导

VC++环境下连接SQL_Server数据库方法指导
图8 点击“确定”,在出现的窗口中选择“单文档”,点击“下一步”,出现图 9。
图9 这里选择 “查看数据 库不使用文件支 持”,还要选 择数据源,点击 “数据源 …”,弹出 如图 10 所示窗口。
4
图 10 选择“student”数据源,点击“OK”,在弹出的窗口中选择表 dbo.s,点击“OK”返回 图 9 所示的界面。以后的创建步骤中没有需要修改的地方可以直接点击完成。这样工程 exec1 就创建完成了,并且通过数据源与数据库发生了关联。 创建好的工程可以运行,结果如图 11 所示。
11
_RecordsetPtr m_pRecordset; 该指针为整个应用程序共享,所以放在 public 下面。 初始化 OLE/COM 库环境。必须注意的是,ADO 库是一组 COM 动态库,这意味应用 程序在调用 ADO 前,必须初始化 OLE/COM 库环境。在 MFC 应用程序里,一个比较 好的方法是在应用程序主类的 InitInstance 成员函数里初始化 OLE/COM 库环境。 在本例中,在 exec2.cpp 文件的 BOOL CExec2App::InitInstance()成员函数里添加如下代 码:
AfxMessageBox("输入的年龄不符合实际!"); return; } //呈增加状态 m_pSet->AddNew(); UpdateData(); //更新数据库 m_pSet->Update(); //重新获得数据 m_pSet->Requery(); UpdateData(FALSE);
(2)界面设计 在 工 作 区 左 边 的 树 型 结 构 中 , 选 择 ResourceView , 展 开 Dialog 节 点 , 双 击 IDD_EXEC2_DIALOG,打开该对话框。在这里添加所需控件。如图 17 所示。

c 语言调用sql server数据库函数

c 语言调用sql server数据库函数

c 语言调用sql server数据库函数C语言调用SQL Server数据库函数:一步一步回答引言:在许多实际应用中,需要使用C语言与数据库进行交互,进行数据的增删改查操作。

而其中一个常见的需求就是调用SQL Server数据库函数。

本文将介绍如何使用C语言调用SQL Server数据库函数,以及一些常用的操作。

第一部分:准备工作在开始之前,我们需要完成一些准备工作,确保顺利地调用SQL Server 数据库函数。

1. 安装SQL Server:首先,我们需要安装SQL Server数据库软件。

你可以从微软官网下载适用于你的操作系统的SQL Server版本,并按照提示进行安装。

2. 创建数据库:安装完成后,我们需要创建一个数据库用于测试。

你可以使用SQL Server Management Studio(SSMS)工具创建一个新的数据库,或者使用SQL 命令行工具创建。

3. 创建数据库函数:在我们可以通过C语言调用SQL Server数据库函数之前,我们需要在数据库中创建一个可供调用的函数。

在SSMS或者SQL命令行工具中,输入以下代码创建一个简单的函数:sqlCREATE FUNCTION dbo.MyFunction()RETURNS INTASBEGINDECLARE @result INT;SET @result = 42;RETURN @result;END;此函数名为dbo.MyFunction(),返回一个整数类型的结果。

第二部分:使用C语言调用SQL Server数据库函数完成了准备工作后,我们可以开始使用C语言调用SQL Server数据库函数了。

下面将介绍一些基本的步骤。

1. 包含头文件:在C语言程序中,我们需要包含相应的头文件才能使用与SQL Server相关的函数。

在C文件的开头,加入以下代码:c#include <stdio.h>#include <windows.h>#include <sql.h>#include <sqlext.h>其中,<sql.h>和<sqlext.h>是ODBC接口的头文件,用于与SQL Server 进行交互。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC++环境下连接SQL Server数据库方法指导实验类型:设计型一、实验环境1.Windows XP操作系统;2.VC++6.0开发环境;3.SQL server 2000数据库管理系统。

二、实验内容和要求利用VC开发应用程序,要求能够通过界面完成对数据库中数据的查询、插入、删除以及修改。

三、实验原理VC访问SQL Server数据库,常用的方法有两种:通过ODBC连接和通过ADO连接。

下面分别介绍一下。

采用ODBC方式要求先创建ODBC数据源,应用程序通过数据源与数据库连接;并且在创建应用程序时,只能是基于单文档或多文档,而无法直接创建基于对话框的应用程序。

采用ADO方式无需创建数据源,应用程序可通过ADO直接与数据库连接;ADO方式可以创建基于对话框的应用程序。

两种方式都要在应用程序中添加代码以完成相应的初始化功能。

四、实验步骤下面通过两个例子分别介绍基于ODBC方式和基于ADO方式的实验步骤。

1 基于ODBC方式的实验步骤(1)在SQL Server2000中创建数据库student,该数据库中有学生表s用来存放学生信息。

s表的创建方法在此不详述。

(2)创建ODBC数据源“开始”--〉“设置”--〉“控制面板”—〉“管理工具”—〉“数据源(ODBC)”,打开之后出现如图1所示窗口。

图1点击“添加”按钮,出现图2。

图2选择SQL Server,点击“完成”,出现图3。

图3名称中填写所创建的数据源的名称,本例中为student,描述可以不填。

因为SQL Server的服务器和客户端均安装在本地计算机上,所以服务器为(local)。

如果本地计算机上只安装了客户端,服务器安装在另外的机器上,服务器为另一台机器的名称。

点击“下一步”,出现图4。

图4SQL Server如何验证ID的真伪,使用哪种方法要看安装SQL Server2000时选择的是哪种验证方式。

如果是Windows验证,选择使用网络登录ID的Windows NT验证;如果是混合验证模式则要选择下面一种。

本例中采用Windows验证。

进入数据库无需另外的用户名和密码。

点击“下一步”,出现图5。

图5这里要更改默认的数据库,默认情况下数据源所连接的数据库为master,这里要改为student数据库。

点击“下一步”,出现图6。

图6这里无需修改,点击“完成”出现图7。

图7点击“测试数据源”,如果测试成功说明数据源已成功创建。

(3)创建VC应用程序。

打开VC++6.0,新建工程,如图8所示。

选择MFC AppWizard(exe),工程名为exec1,存放在D盘实验文件夹里。

图8点击“确定”,在出现的窗口中选择“单文档”,点击“下一步”,出现图9。

图9这里选择“查看数据库不使用文件支持”,还要选择数据源,点击“数据源…”,弹出如图10所示窗口。

图10选择“student”数据源,点击“OK”,在弹出的窗口中选择表dbo.s,点击“OK”返回图9所示的界面。

以后的创建步骤中没有需要修改的地方可以直接点击完成。

这样工程exec1就创建完成了,并且通过数据源与数据库发生了关联。

创建好的工程可以运行,结果如图11所示。

图11(4)界面设计在工作区左边的树型结构中,选择ResourceView,展开Dialog节点,双击IDD_EXEC1_FORM,打开该对话框。

在这里添加所需控件。

如图12所示。

图12此时运行程序,结果如图13所示。

图13从界面可以看出程序要完成的功能。

完整的程序运行后,界面默认显示表中的第一条数据,点击工具栏中的“下一记录”可以显示下一条记录;点击“删除”按钮可将当前显示的数据从库中删除;点击“清除”按钮,将所有编辑框清空;在界面输入学生信息,点击“添加”按钮可将此学生信息输入至数据库;点击“修改”按钮可修改当前显示的学生信息。

为界面上的编辑框和按钮添加变量和函数。

在界面右键单击,选择“建立类向导”,弹出如图14所示窗口。

图14本例中需要为编辑框IDC_AGE, IDC_COMMENT, IDC_DEPARTMENT, IDC_NAME, IDC_SNO 添加变量。

以IDC_AGE 为例,点击“ADD Variable ”弹出如图15所示窗口。

图15在下拉框中选择m_pSet->m_age为变量名,这里的变量是与数据库表s中的字段相对应的,变量类型也与s中的字段类型对应。

其它变量的添加方法相同。

为按钮添加函数比较简单,双击按钮即可。

添加的函数在exec1View.cpp文件中。

(5)代码设计“清除”按钮所添加的函数为OnClear(),具体代码如下://名称:OnClear//功能:清除编辑框中的内容void CExec1View::OnClear(){CWnd* c1;c1= CWnd::GetDlgItem(IDC_SNO);//获得编辑框c1->SetWindowText(""); //将编辑框置空c1= CWnd::GetDlgItem(IDC_NAME);c1->SetWindowText("");c1= CWnd::GetDlgItem(IDC_DEPARTMENT);c1->SetWindowText("");c1= CWnd::GetDlgItem(IDC_AGE);c1->SetWindowText("");c1= CWnd::GetDlgItem(IDC_COMMENT);c1->SetWindowText("");}“添加”按钮所添加的函数为OnAdd(),具体代码如下://名称:OnAdd//功能:插入一条记录void CExec1View::OnAdd(){// TODO: Add your control notification handler code here//判断年龄是否合适CString strAge;GetDlgItem(IDC_AGE)->GetWindowText(strAge);int nAge = atoi(strAge.GetBuffer(0));if(nAge<0 || nAge>120){AfxMessageBox("输入的年龄不符合实际!");return;}//呈增加状态m_pSet->AddNew();UpdateData();//更新数据库m_pSet->Update();//重新获得数据m_pSet->Requery();UpdateData(FALSE);}“删除”按钮所添加的函数为OnDelete(),具体代码如下://名称:OnDelete//功能:删除当前记录void CExec1View::OnDelete(){// TODO: Add your control notification handler code here//发出删除命令m_pSet->Delete();//重新获得记录集m_pSet->Requery();UpdateData(FALSE);}“修改”按钮所添加的函数为OnEdit(),具体代码如下://名称:OnEdit//功能:修改当前记录void CExec1View::OnEdit(){// TODO: Add your control notification handler code here//判断年龄是否合适CString strAge;GetDlgItem(IDC_AGE)->GetWindowText(strAge);int nAge = atoi(strAge.GetBuffer(0));if(nAge<0 || nAge>120){AfxMessageBox("输入的年龄不符合实际!");return;}//呈编辑状态m_pSet->Edit();UpdateData();//更新数据库m_pSet->Update();//重新获得记录集m_pSet->Requery();UpdateData(FALSE);}(6)运行结果图162基于ADO方式的实验步骤此例中所用数据库与上例中相同;此例中无需创建数据源。

(1)创建VC应用程序打开VC++6.0,新建工程。

选择MFC AppWizard(exe),工程名为exec2,存放在D盘实验文件夹里。

点击“确定”,在弹出的窗口中选择“基本对话框”,以后的步骤没有需要修改的地方,可以直接点击“完成。

”这样一个基于基本对话框的工程就创建好了。

(2)界面设计在工作区左边的树型结构中,选择ResourceView,展开Dialog节点,双击IDD_EXEC2_DIALOG,打开该对话框。

在这里添加所需控件。

如图17所示。

图17为编辑框和列表框添加变量。

在界面右键单击,选择“建立类向导”,弹出如图18所示窗口。

图18本例中需要为编辑框IDC_AGE, IDC_COMMENT, IDC_DEPT, IDC_NAME, IDC_SNO,列表框IDC_LIST添加变量。

以IDC_AGE为例,点击“ADD Variable”弹出如图19所示窗口。

图19这里变量名为m_age,类型可从下拉框里选。

添加变量完成之后类向导如图20所示。

图20为按钮添加函数,双击按钮可为其添加函数,在exec2Dig.cpp文件里。

(3)与ADO相关的代码设计引入ADO库文件,使用ADO前必须在工程的StdAfx.h头文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。

代码如下所示://加入ADO支持库#import "c:\program files\common files\system\ado\msado15.dll" \no_namespace \rename ("EOF", "adoEOF")定义ADO连接变量指针,在exec2.h文件的class CExec2App : public CwinApp方法中添加代码如下:// 定义ADO连接变量指针_ConnectionPtr m_pConnection;该指针为整个应用程序共享,所以放在public下面。

定义ADO连接、命令、记录集变量指针,在exec2Dlg.h文件的class CExec2Dlg : publicCDialog方法中添加如下代码:// 定义ADO连接、命令、记录集变量指针_ConnectionPtr m_pConnection;_CommandPtr m_pCommand;_RecordsetPtr m_pRecordset;该指针为整个应用程序共享,所以放在public下面。

相关文档
最新文档