MFC与SQL数据库的操作

在MFC中与SQL数据库相关联的主要是两个类:CDatabase类与CRecordeset类。

1.将SQL中的字段显示在Clistctrl空间的列名中

m_gl.Open(CRecordset::dynaset);//打开ODBC连接的数据库
	short nfilecount=m_gl.GetODBCFieldCount();//获取表中的字段数
	CODBCFieldInfo fieldinfo;//用于存储字段信息
	for(int n=0;n<nfilecount;n++)
	{
		m_gl.GetODBCFieldInfo(n,fieldinfo);//返回某一字段索引的字段信息 m_strName保存的是字段名
		int nWidth=m_list.GetStringWidth(fieldinfo.m_strName)+15;//确定列头的显示长度
		m_list.InsertColumn(n,fieldinfo.m_strName,LVCFMT_LEFT,nWidth);//在Clistctrl控件中插入列
	}


	CString strvalue;
	m_gl.MoveFirst();
	int ncount=0;
	while(!m_gl.IsEOF())
	{

		m_list.InsertItem(ncount,strvalue);
		//for(short j=0;j<nfilecount;j++)
		//{
		//	m_gl.GetFieldValue(j,strvalue);//获取某个字段的信息
		//	m_list.SetItemText(ncount,j,strvalue);//在Clistctrl控件中写入数据
		//}
		CString m_ID;
		m_ID.Format("%d",m_gl.m_ID);
		m_list.SetItemText(ncount,0,m_ID);
		m_list.SetItemText(ncount,1,m_gl.column1);
		m_list.SetItemText(ncount,2,m_gl.column2);
		m_list.SetItemText(ncount,3,m_gl.column3);
		m_list.SetItemText(ncount,4,m_gl.column4);
		m_list.SetItemText(ncount,5,m_gl.column4);
		m_gl.MoveNext();
		ncount++;
	
	}
	m_gl.Close();
	m_db.Close();
2.删除表中的某一行:
int nIdxingdb=nIdx1+1;
	m_gl.Open (CRecordset::dynaset);//打开数据库
	m_gl.SetAbsolutePosition(nIdxingdb);//设置数据库的记录位置
	m_gl.Delete();//删除记录
	m_gl.Close();
3.增加到记录中一行:
m_gl.AddNew();
	m_gl.SetFieldNull(NULL,false);

	m_gl.column1 = r.Name;
	m_gl.column5 = r.Photo;
	m_gl.column2 = r.Depart;
	m_gl.column3 =r.IsIntern;
	m_gl.column4=r.Phone;
	m_gl.Update();
	m_gl.Requery();


	m_gl.MoveFirst();



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值