这2个有什么不同?
set   rs   =   Server.CreateObject( "ADODB.Recordset ") 
 str   = "select   *   from   radiocallers   where   caller= ' "   &   a      &    " ' " 
 set   rs=cnn.execute(str) 
 if... 
 stradd   = "insert   into   radiocallers(trunkID,caller)   values( ' "   &   b      &    " ', ' "   &   a      &    " ') " 
 cnn.execute(stradd)    
 ..     
 set   rs   =   Server.CreateObject( "ADODB.Recordset ") 
 str   = "select   *   from   radiocallers   where   caller= ' "   &   a      &    " ' " 
 rs.open   str,conn,3,2 
 if   ... 
       rs.addnew 
 ..... 
 当我用后面这个代码的时候就提示:参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。 
 用前面的代码就能正确的把数据添加进表里 
 不知道这2种方法具体到底有什么不同之处呢,望解答
------解决方案--------------------rs.open str,conn,3,2 
 这句错了,你要具体看一下,rs.open这个函数的最后面两个参数的含义 
 具体看一下msdn