关于“ 
System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。”的错误,请教
大家看这段代码,我检查很久,我估计是   sql   语句那里有错误,但是我还是不知道怎么改,请大家帮我看看, 
 protected   void   SearchButton_Click(object   sender,   EventArgs   e) 
             { 
                         resultmsg.Text   =    " "; 
                         string   strIp   =   IPTextBox.Text; 
                         long   ipvalue   =   IpToNum(strIp);//这个函数的目的是将IP地址转换为数值                
                         OleDbCommand   dataCommand   =   new   OleDbCommand(); 
                         ConnectAccessDB(); 
                         dataCommand.Connection   =   accessConn; 
                         dataCommand.CommandText=                               
                          "SELECT   *   FROM   iptable    "   + 
                       "WHERE         starp <=ipvalue   AND   endp> =ipvalue ";                         
                         OleDbDataReader   dataReader   =   dataCommand.ExecuteReader();//   96   行,错误所在行 
                         while   (dataReader.Read()) 
                         {    
                                     resultmsg.Text+=   dataReader.GetString(5);    
                                     resultmsg.Text+=   dataReader.GetString(6);    
                         } 
                         dataCommand.Connection.Close(); 
                         accessConn.Close(); 
             } 
 提示错误: 
 异常详细信息:   
System.Data.OleDb.OleDbException:   至少一个参数没有被指定值。 
 源错误:        
 行   94:                            "SELECT   *   FROM   iptable    "   + 
 行   95:                         "WHERE         starp <=ipvalue   AND   endp> =ipvalue ";                         
 行   96:                           OleDbDataReader   dataReader   =   dataCommand.ExecuteReader(); 
 行   97:                           while   (dataReader.Read()) 
 行   98:                           {           
 源文件:   e:\Visual   Studio   2005\WebSites\IP   search\IpSearch.aspx.cs            行:   96    
 我这里没有同学可以请教,所以期待网上各位朋友帮助!
------解决方案--------------------这样改,此行改为  
 dataCommand.CommandText=           
          "SELECT * FROM iptable  " + 
         "WHERE   starp <=? AND endp> =? ";  
 在执行之前的地方加入这一行: 
 dataCommand.Parameters.AddWithValue( "starp ", ipvalue);