我建立了一个表,表名为teble1,其中字段为 姓名(char)迟到(float)旷班(float) 
我用一个列表显示了记录,现在我要用列表的双击事件,先得到列表中字符串,要通过查寻找到数据库中的这段记录,再将这条记录写入一个对话框。
我现在想知道怎样查寻。
注:数据库中的为float类型,从列表中得到的是CString类型,请各位高手帮助,如何查询。(所用的是ODBC)

解决方案 »

  1.   

    下面针对的是ORACLE
    一,放到数据库的查询语句中进行,
    CString sql;
    sql.format('select * from teble1 where FLAT型字段名=to_number('%s')',列表中的CString型变量名);二,直接在VC中将变量转换过来
    利用atof函数将CString型进行转换,我不太记得该函数的参数类型了,如果其参数类型不能用CString,你可以用format函数转换一下
    此法则对其他库都通用了
      

  2.   

    1、
    在调用数据库的查询语句之前要获得限制定义字段
    CString sName;
    sName = m_listctrl.GetItemText(m_listctrl.GetSelectionMark(),0);
    2、拼sql语句
    CString sql
    sql.Format("select * from teblel where 姓名='%s'",sName);
    3、
    CString sLate;
    sLate.Format("%d",要转换的float型变量);
    4、
    在你的要求将记录写入的对话框的构在函数中将其付进去。
    比如
    m_sName = sName;
    m_lLate = sLate;这样的;
    也许你要重写这个类的构在函数。