MFC 向SQL数据库写入数据问题

麻烦大家看一下我写的代码有问题吗?我将插入SQL的语句放在按钮中实现就可以,我单独写一个函数不报错,但是也无法写入SQL。其中。plate_result__ex是一个数组... 麻烦大家看一下我写的代码有问题吗?我将插入SQL的语句放在按钮中实现就可以,我单独写一个函数不报错,但是也无法写入SQL。其中。plate_result__ex是一个数组,里面有一个char型变量chLicense,这个变量我通过一个Cstring型plate1.Format来接收保存这个变量,最后将这个变量存放到SQL中,不知道为什么SQL没有变化 请大家指导一下 展开
 我来答
Mexico卡卡
2017-09-11 · TA获得超过1万个赞
知道大有可为答主
回答量:1.3万
采纳率:98%
帮助的人:1894万
展开全部

在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();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式