我用的是VS2010,写登录那一块的时候,传入登录函数两个参数:CString strUserID, CString strUserPasswd,然后利用一个CString 对象将他们俩格式化:
strParameter.Format("select * from login_info where Login_Name='%s' and  Login_Passwnd='%s'",
    strUserID,
                    strUserPasswd);然后调用Open函数去访问数据库,可是测试的时候发现,strParameter这个对象里面的内容只有strUserID和strUserPasswd的前面一个字符,这是什么情况?数据库2010

解决方案 »

  1.   

    没看出什么问题。在Format时,这两个值是对的吗?
      

  2.   

    是对的,我还特地去测了的。
    这个在VC6.0里面是对的,但是VS2010就不行了
      

  3.   

    是不是你的工程是UNICODE,默认的就是这个字符集,你这么改试试(不考虑字符集,帖编绎软件自动转换):
    strUserID=_T("asgasf");
    strUserPasswd=_T("dga");//如果你是直接赋值的,就加_T来自动转换
    strParameter=_T("select * from login_info where Login_Name='");
    strParameter+=strUserID;
    strParameter+=_T("'and  Login_Passwnd='");
    strParameter+=strUserPasswd;
      

  4.   

    我的工程是UNICODE的,当时特意选的UNICODE,我试试你的方法看看
      

  5.   

    strParameter.Format("select * from login_info where Login_Name='%s' and  Login_Passwnd='%s'",
        strUserID,
                        strUserPasswd);
    改成这样试试strParameter.Format(_T("select * from login_info where Login_Name='%s' and  Login_Passwnd='%s'"),
        strUserID,
                        strUserPasswd);