根据传值,查询条件后update的问题
我要实现的功能是:根据网址传来的值out_trade_no,查询表Orders当中的OrderId,根据OrderId字段更新表OrderStatus当中的status的值.表Orders和表OrderStatus用OrderId关联.可我写如下语句后,并没有更新成功.提示: 
 列前缀    'Orders '   与查询中所用的表名或别名不匹配。 
 列前缀    'Orders '   与查询中所用的表名或别名不匹配。      
 我应怎么样写才能达到我上述功能呢?   
 CS: 
             protected   void   Page_Load(object   sender,   EventArgs   e) 
             { 
                         SqlConnection   conn   =   new   SqlConnection(ConfigurationManager.ConnectionStrings[ "SQLConnString1 "].ConnectionString);   
                         SqlCommand   updatecmd   =   new   SqlCommand( "update   OrderStatus   set   OrderStatus.Status=@Status   where   Orders.CreditCard=@out_trade_no   and   OrderStatus.OrderId=Orders.Orderid ",   conn); 
                         //SqlCommand   updatecmd   =   new   SqlCommand( "UPDATE   OrderStatus   set   Status=@Status ",   conn);   
                         updatecmd.Parameters.Add(new   SqlParameter( "@out_trade_no ",   SqlDbType.VarChar,   50)); 
                         updatecmd.Parameters.Add(new   SqlParameter( "@Status ",   SqlDbType.VarChar,   50)); 
                         string   out_trade_no   =   Request.QueryString[ "out_trade_no "]; 
                         if   (out_trade_no   ==   null) 
                         { 
                                     //没有此订单号,就出错. 
                                     Response.Write( "测试请带?out_trade_no=20070227231126968 ");   
                         } 
                         else 
                         { 
                                     updatecmd.Parameters[ "@out_trade_no "].Value   =   out_trade_no;//按时(详细到毫秒)生成的订单流水号,是我们提交给支付宝后支付宝又返回来的,第一次提交时在表Orders的creditcard例中,在本地系统中必须唯一. 
                                     updatecmd.Parameters[ "@Status "].Value   =    "OK ";   
                         }   
                                     conn.Open();   
                                     updatecmd.ExecuteNonQuery();   
                                     conn.Close(); 
             }   
 }
------解决方案--------------------代码逻辑上有问题。 
  SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[ "SQLConnString1 "].ConnectionString);   
         SqlCommand updatecmd = new SqlCommand( "update OrderStatus set Status=@Status  
 where OrderId IN (Select Orderid From Orders where Orders.CreditCard=@out_trade_no)  ", conn);           
         updatecmd.Parameters.Add(new SqlParameter( "@out_trade_no ", SqlDbType.VarChar, 50));