strSQL="update PERSON set STATE='" + strState + "',"
+ "DEPARTMENT='" + strDepID + "',"
+ "JOB='" + strJobID + "'";我不知道strState前后为什么各用一个+号,还有,那么多的分号有什么用?

解决方案 »

  1.   

    +是连接两个字符串的意思 
    例如 CString str1 = "111";
         CString str2 = "222";
         CString str3;
         str3 = str1 + str2;
      

  2.   

    加号是CString类型的字符串相加,sql语句对于字符串需有单引号,分号表示里面的是C++语言的字符串。
      

  3.   

    依据上面两位大侠的分析,
    1、strState 前后为什么要加一个空字符(")这有什么意义呢?
    2、我知道update PERSON set STATE='A'(假定A指字符A本身,而不代表字符串),这样是正确的。但,假如str是一个字符串,那么update PERSON set STATE=str;这句正确吗?还是应该改成:update PERSON set STATE='str'?
      

  4.   

    我是头一回看数据库,虽然以前看过一点sql,不过我没觉得以前在字符变量前后都加+号的呀。不是吧??
      

  5.   

    给你个例子
    change="select * from lane where lanewayid='"+idlane+"'"
    我调过
    是对的
      

  6.   

    那如果我将lastman001() 的例子改成:
    change="select* from lane where lanewayid=idlane;不行吗?(假设idlane="abcde");难道非得是"+idlane+"这样的格式吗
      

  7.   

    你把strSQL用AfxMessageBox(strSQL);显示出来看看是什么结果,也胜过我再说什么!