MFC 向SQL数据库写入数据问题
麻烦大家看一下我写的代码有问题吗?我将插入SQL的语句放在按钮中实现就可以,我单独写一个函数不报错,但是也无法写入SQL。其中。plate_result__ex是一个数组...
麻烦大家看一下我写的代码有问题吗?我将插入SQL的语句放在按钮中实现就可以,我单独写一个函数不报错,但是也无法写入SQL。其中。plate_result__ex是一个数组,里面有一个char型变量chLicense,这个变量我通过一个Cstring型plate1.Format来接收保存这个变量,最后将这个变量存放到SQL中,不知道为什么SQL没有变化 请大家指导一下
展开
1个回答
展开全部
在MFC中与SQL数据库相关联的主要是两个类:CDatabase类与CRecordeset类。
1.将SQL中的字段显示在Clistctrl空间的列名中
[cpp] view plain copy
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.删除表中的某一行:
[cpp] view plain copy
int nIdxingdb=nIdx1+1;
m_gl.Open (CRecordset::dynaset);//打开数据库
m_gl.SetAbsolutePosition(nIdxingdb);//设置数据库的记录位置
m_gl.Delete();//删除记录
m_gl.Close();
3.增加到记录中一行:
[cpp] view plain copy
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();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询