大连实训之基于MFC对数据库的基本操作(功能实现)

一、建立数据库文件与MFC的联系
1.建立一个数据库文件,并建立一个名为Student1的表
2.开始->设置->控制面板->管理工具->数据源->添加——
3.在类视图中新建MFC类,基类选取为:CBaoRecordset;确定,在弹出的对话框中选择ODBC,在对应下拉列表中选择你添加的数据源;
下方选择Dynaset(动态建立),然后选择确定,在弹出的对话框中选择你要使用的表,选择OK
4.在所建的新类中添加头文件:#include <afxdb.h>

具体操作截图:

                

 

        

             

 

二、对数据库内的内容进行编辑

1.Format: 第一个参数是格式化字符串,就像printf的第一个参数一样,用%d表示int,%s表示char*,%u表示unsigned int,%hd表示short,%hu表示unsigned short,%hhd表示char,%hhu表示unsigned char,%f表示float等。后面的参数就是与格式化字符串中每个字段对应的类型变量。
2.strFilter:用m_strFilter实现一个查询功能,表中的“字段名”必须用[]括起来,比如表中有一个字段名为“姓名”,用strFilter表示“姓名="张三"”,须写成 m_pset->m_strFilter="[姓名] like '张三'"; 而且单引号是必须要的(VC6.0)。

 

1.显示数据库中的内容
//AccessBox 为数据库类的名
//1.简单的输出一条信息
CString strTemp; 
student.Open();//数据库打开
strTemp.Format("Number :  %s,Name :  %s,
                English :  %d,Math :  %d,
                Chinese :  %d",student.m_Number,
                student.m_Name,student.m_English,
                student.m_Math,student.m_Chinese);
 student.Close();//数据库关闭
//2. 拓展:全部显示

	AccessBox student;
	CClientDC dc(this);//DC指针
	CString strTemp;                   
	int y=50;
	student.Open();
	while(!(student.IsEOF()))
	{
		strTemp.Format("Number :  %s,Name :  %s,English :  %d,Math :  %d,Chinese :  %d",
			student.m_Number,student.m_Name,student.m_English,student.m_Math,student.m_Chinese);
		dc.TextOut( 50,y,strTemp );
		student.MoveNext();
		y+=30;
	}

	 student.Close();	
}
2.给数据库添加新的记录

        AccessBox student1;
	student1.Open();


	student1.AddNew();
	student1.m_Number="1006";
	student1.m_Name="Jone";
	student1.m_Score=86;

	student1.Update();
	student1.Close();

3.修改数据库中的内容
//1.简单的将 Number 是 1005 的记录中的 Name 改为 haijun
	AccessBox student;
	student.m_strFilter="Number='1005'";
	student.Open();
	student.Edit();
	student.m_Name="haijun";
	student.Update();
	student.Close();
//2.拓展,将 english = 90 的记录中的 chinese 改为 85
        AccessBox student;
        student.m_strFilter="english=90";
        student.Open();
	while(!(student.IsEOF()))
    	student.Edit();
	student.m_Chinese=85;
	   }
	 student.Update();
	 student.Close();

4.删除数据库中的内容
//1.简单的将数据库中的内容全部删除

	AccessBox student;
	student.m_strFilter="Number='1005'";
	student.Open();
	student.Delete();
	student.m_Name;
	student.Update();
	student.Close();

//2.拓展:将 chinese=85 的记录删除

        AccessBox student ;
	student.m_strFilter="chinese=85";
	student.Open();
	while(!(student.IsEOF()))
    	student.Delete();
	student.m_Number;
	student.m_Name;
    	student.m_English;
    	student.m_Math;
	student.m_Chinese;
	}
	student.Update();
	student.Close();


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值