unsigned char * dd= "update sys_parm set pnr = 'aaaa' where u_xh = 0 and pdm='xt_ifsharedata'";在 VC6 和 VC.net 里面都是编译通不过在BCB 里面可以,真是郁闷使用API  ODBC API 在 ODBC API 里面,  SQLCHAR 这么定义
typedef unsigned char   SQLCHAR;
可是 在 VC 里面 
SQLCHAR *sqlstr
strcpy(sqlstr,"update sys_parm set pnr = 'aaaa' where u_xh = 0 and pdm='xt_ifsharedata'");
通不过最后还是这个问题, VC 里面unsigned char  和 char 有什么区别????unsingned char * dd = "aaaaaaaa";
为什么是错误的定义

解决方案 »

  1.   

    unsigned char * dd= "update sys_parm set pnr = \'aaaa\' where u_xh = 0 and pdm=\'xt_ifsharedata\'";
      

  2.   

    unsigned char * dd= "update sys_parm set pnr = \'aaaa\' where u_xh = 0 and pdm=\'xt_ifsharedata\'";也是失败啊,应该不要使用转义啊
      

  3.   

    "kdkkdklajkdk"是一个字符串,不能符给BYTE,可以强制符值
    BYTE *pp = (BYTE*)"sdkslakj;lfda";
      

  4.   

    char* dd="update sys_parm set pnr = 'aaaa' where u_xh = 0 and pdm='xt_ifsharedata'"
      这样应该可以了吧?
      

  5.   

    unsigned char *dd;
    dd = (unsigned char*)"update sys_parm set pnr = 'aaaa' where u_xh = 0 and pdm='xt_ifsharedata'";
      

  6.   

    虽然都是在C++的基础上开发的但是不完全相同,BC++能跟vc++相比?
      

  7.   

    SQLCHAR * str;
    str = (unsigned char*)"update sys_parm set pnr = 'aaaa' where u_xh = 0 and pdm='xt_ifsharedata'";

    SQLExecDirect(hstmt,str,SQL_NTS);为什么不能直接等于呢
    他是typedef unsigned char   SQLCHAR;
    这样定义的啊难道 unsigned char * 没有重栽 char * 的 = 运算吗
      

  8.   


    现在搞得  处理 char * 得函数都不好使用了strcpy() ...
      

  9.   

    unsigned char * dd= (unsigned char*)"update sys_parm set pnr = 'aaaa' where u_xh = 0 and pdm='xt_ifsharedata'";
    这么简单^_^
      

  10.   

    关键是每次处理 typedef unsigned char   SQLCHAR;SQLCHAR *str;
    和 
    char * 每次都不好处理了