m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES (newid,m_name)");和
 CString str;
 str.Format("insert into lunwen_info_tab(id,Name)VALUES (%d,'%s')",newid,m_name);
 m_db.ExecuteSQL(str);newid是自己定义的int 变量, m_name是从控件上得到的字符串。都已经获得了值。 m_db为 Cdatabase的对象。
为什么第一句就不能执行,一运行就说newid不能为列行。而第二句能运行。  谁能指点一下。谢谢!

解决方案 »

  1.   

    m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES ("+newid+","+"m_name)");
      

  2.   

    m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES ("+newid+","+m_name+")");
      

  3.   

    m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES ("'+newid+'","'m_name'")");
      

  4.   


    似乎上面的都不对
    m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES ('"+newid+"','"+m_name+"')");
      

  5.   


    m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES ('"+newid+"','"+m_name+"')");
      

  6.   

     为什么谁是
      m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES ('"+newid+"','"+m_name+"')");  呢? 
     SQL 原来语句 为 INSERT INTO 表名【(列名,...,列名)】 VALUES (常量,....,常量)
     我后面插入int的newid和CString的m_name为什么要加 + 号呢??而用
    CString str;
     str.Format("insert into lunwen_info_tab(id,Name)VALUES (%d,'%s')",newid,m_name);
     m_db.ExecuteSQL(str);就不要+ 号呢??? 请指教!
      

  7.   

    newid 是在语句字符串外的变量值,连接到语句中去.
    '%s'本来就是语句中的一部分,不必分隔.
      

  8.   

    还是不太清楚 
    m_db.ExecuteSQL("insert into lunwen_info_tab(id,Name)VALUES (newid,m_name)");
    中newid和m_name不就是填到id和Name位置吗? 不都在字符串里面吗?