小菜问题3  需要参数 @isbn1,但未提供该参数
SqlConnection   con   =   new   SqlConnection(link.connectionString);                                     
                                     SqlCommand   cmd1=   new   SqlCommand(); 
                                     cmd1.Connection   =   con; 
                                     ////   Create   the   DeleteCommand. 
                                     cmd1.CommandText   =    "   delete   BookInfo      where   isbn=@isbn1 "; 
                                     cmd1.Parameters.Add( "@isbn1 ",   SqlDbType.VarChar,   20,    "@isbn1 "); 
                                     cmd1.Parameters[0].Value   =    " "; 
                                     da.DeleteCommand   =   cmd1;   
                                     if   (cm.Count   >    0) 
                                     {    
                                                 string   isBN   =   dataGridView1[0,   cm.Position].Value.ToString().Trim(); 
                                                 cm.RemoveAt(cm.Position); 
                                              da.DeleteCommand.Parameters[ "@isbn1 "].Value   =   isBN; 
                                                 da.Update(ds.Tables[ "Table1 "]);                                                   
                                     }   
 --------------------------------------   
 参数化查询    '(@isbn1   varchar(20))   delete   BookInfo      where   isbn=@isbn1 '   需要参数   @isbn1,但未提供该参数。 
------解决方案--------------------cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20,  "@isbn1 "); 
 这句话有问题吧,最后的参数那个参数是前面@isbn1所对应的值,你没有指定值吧     
 要不你直接这样写 
 cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20); 
 反正值你后面也指定了   
 ---------------- 
 我没这么用过,不过我觉得有可能是这个原因吧   
------解决方案--------------------cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar);
------解决方案-------------------- " "里面是给@isbn1赋的值 
 好象这里也错了 
          cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20,  "@isbn1 "); 
 用 
 cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20) 
 就行了     
 你用的是2005的化 我看有的书上 
 直接用 
             cmd1.Parameters.Add( "isbn1 ", SqlDbType.VarChar, 20); 
             cmd1.Parameters[ "isbn1 "].Value =  " ";