在下面的语句中,程序可以进行,但是: 
如果把下面的student表,改成teacher[StuCode,StuName,StuAddress,StuPhone]表后,程序就不能执行了,这是为什么啊?//编译能通过,但是执行的是后就出错了。另外,teacher与student在相同access文件里面 有请高手针对上面问题给于赐教,谢谢!!!! for(int   i=0;   i <300;   i++) 

strSQL.Format("INSERT   INTO   student(StuCode,StuName,StuAddress,StuPhone)   VALUES('%s','%s','%s','%s')",code,name,address,phone); 
m_pConnection-> Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);   
      
}

解决方案 »

  1.   

    绝对的一致,不管是类型(text)还是字段名:StuCode,StuName,StuAddress,StuPhone 都是一样的
      

  2.   

    你手工在access里面执行同样的SQL语句看看能否成功
      

  3.   

    在access中用手动查询是能够成功的,这个我试过,请问你是计算机系的吗?
      

  4.   

    胡柏华、走上正路:
        在access中用手动查询是能够成功的,这个我试过,字母没有错,我检查不止一遍了。
    另外,如果我在student表中插入一列(字段命名:add)后,改写上述语句:
    strSQL.Format("INSERT       INTO       student(StuCode,StuName,StuAddress,StuPhone, add)       VALUES('%s','%s','%s','%s','%s')",code,name,address,phone, newadd);   
    后,执行则出现同样的错误
      

  5.   

    1.表teacher create了..?2.
    for(int       i=0;       i   <300;       i++)   
    {   
    strSQL.Format("INSERT       INTO       student(StuCode,StuName,StuAddress,StuPhone)       VALUES('%s','%s','%s','%s')",code,name,address,phone);   
    m_pConnection->   Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);       
                
    }
    ----
    插入300条记录, code/name/address/phone 都一样,,...? 
    你看看是什么结果..?3.如果我在student表中插入一列(字段命名:add)后,改写上述语句: 
    strSQL.Format("INSERT               INTO               student(StuCode,StuName,StuAddress,StuPhone,   add)               VALUES('%s','%s','%s','%s','%s')",code,name,address,phone,   newadd);       
    后,执行则出现同样的错误
    ----
    插入一列, SQL语句是你这样写的..?
      

  6.   

    答7楼:
      1,teacher 表已经创建了,是用手创建的,而不是sql创建的
      2,我看到的结果是:
    19981203 jiangzemin jiangsuyangzhou 3838438 //一共300条,在student表里面。
      3,我所要表现的不是怎样用SQL去插入一列,我所要表现的东西是在增加一列后,student表还能想原来的student表一样地执行插入操作了吗。(注:所插入的add 也是用手动增加的)。
    看来7楼的兄弟功力非常了得,请帮帮我把这个问题摆平好吗,算兄弟我求你了!!!!