大家好,小弟大学二年级学生!
我在VC中创建了一个类CEMPBinfo,对应后台SQL server2000中的表EMPBinfo。表中有4字段Emp_id char(10),
Emp_name char(10),Emp_sex char(2),Emp_age int。类中对应有4个private类型数据CString EMP_id1,
CString Emp_name1,CString Emp_sex1,int Emp_age1和三个public类型函数sql_insert(),sql_update(CString cEmpId),
sql_delete(CString cEmpId)。别的不问,就问这三个函数中的SQL语句应该怎么写?我的写法如下,系统没报错,只是说明没有语法错误,可我感觉等程序都写好时执行时会出错,比如无法添加、修改、删除!拜托大家帮我看看啊,小弟感激不尽!_bstr_t vSQL;
vSQL="INSERT INTO EMPBinfo(Emp_id, Emp_name,Emp_sex,Emp_age)VALUES(Emp_id1,Emp_name1,Emp_sex1,Emp_age1)";_bstr_t vSQL;
vSQL="UPDATE EMPBinfo SET Emp_name=Emp_name1, Emp_sex=Emp_sex1,Emp_age=Emp_age1 WHERE Emp_id="+cEmpId;

_bstr_t vSQL;
vSQL="DELETE FROM EMPBinfo WHERE Emp_id="+cEmpId;拜托大家了,帮我修改下!!!

解决方案 »

  1.   

    format 或 sprintf 格式化成字符串 
    你可以调试一下你的sql字符串是什么 
      

  2.   

    找到最终format的sql字符串. 复制到sql查询分析器.F5运行下.若报错,就是你sql有问题了
      

  3.   

    cstring  sql;
    sql.format(“sql语句”)
      

  4.   

    //id估计是数值类型的字段吧?字符串值要加单引号的CString strSql;strSql = ="INSERT INTO EMPBinfo(Emp_id, Emp_name,Emp_sex,Emp_age)VALUES(" + "'" + Emp_id1 + "','" + Emp_name1 + "','" + Emp_sex1 + "','" + "'," + Emp_age1 "')";_bstr_t vSql;vSql = strSql.AllocSysString();//执行
    ......
      

  5.   


    新的问题在这儿,麻烦大家过来看下吧!http://topic.csdn.net/u/20111212/13/be43865c-7194-4284-b9f6-88805e04b783.html