说不允许使用列名,但是qwe确实不是列名啊,事实上我随便敲一个名称它都报错。不知道各位有没有遇见过这样的情况 ,给我点解决办法,谢过了。

解决方案 »

  1.   

    先查一下是不是sql语句写错了
      

  2.   

    谢谢两位的回复,程序有点大,插入语句封装到类里面去了,帮我看看
    void CSell::sql_insert()
    {
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    _bstr_t vSQL;
    CString strPid,strPprice,strPnum,strPSum;
    strPid.Format("%d", Pid);
    strPprice.Format("%d", Pprice);
    strPnum.Format("%d", Pnum);
    strPSum.Format("%d", Pnum*Pprice);
    vSQL = "INSERT INTO Sell (Pid, Pname, Pprice, Pnum, Pclient, Psum, Selltime) VALUES('"
    + strPid + "'," + Pname + ",'" + strPprice + "','" + strPnum + "','" + "SS" + "','"
    + strPSum + "','" + Selltime + "')";


    m_AdoConn.ExecuteSQL(vSQL);

    m_AdoConn.ExitConnect();
    }
      

  3.   

    SQL = "INSERT INTO Sell (Pid, Pname, Pprice, Pnum, Pclient, Psum, Selltime) VALUES('"
    + strPid + "'," + Pname + ",'" + strPprice + "','" + strPnum + "','" + "SS" + "','"
    + strPSum + "','" + Selltime + "')";
    ??
    你把你的语句好生个写一下
    CString strFields = _T("Pid, Pname, Pprice, Pnum, Pclient, Psum, Selltime");
    CString strTime = Selltime.Format("%H:%M:%S");
    //假设你的Selltime是CTime或COleDateTime变量CString sql.Format("INSERT INTO Sell(%S) VALUES(%d,'%s',%d,%d,%d,%d,%s)",strFields,Pid,Pname,Pprice,Pnum,Pprice,Pnum*Pprice,strTime);
    m_AdoConn.ExecuteSQL(_bstr_t(sql)); 
    //你仔细检查一下
      

  4.   

    谢谢各位 这个问题解决了 是我的sql语句错了