les dejo un ejemplo de como hago yo para cargar un archivo y realizar la consulta de inmediato, para la carga utilizo un control FileUpload..
     
Código C:
Ver original- protected void btnSubir_Click(object sender, EventArgs e) 
-     { 
-         if ((FileUpload1.PostedFile != null) && (FileUpload1.PostedFile.ContentLength > 0)) 
-         { 
-             System.Web.HttpPostedFile ImgFile = FileUpload1.PostedFile; 
-             // Almacenamos la imagen en una variable para insertarla en la bbdd. 
-             Byte[] byteImage = new Byte[FileUpload1.PostedFile.ContentLength]; 
-             ImgFile.InputStream.Read(byteImage, 0, FileUpload1.PostedFile.ContentLength); 
-   
-             string sql = "insert into FIN_SolicitudImagen (fk_solicitud, si_titulo, si_imagen)"; 
-             sql += " Values (@fk_solicitud, @si_titulo, @si_imagen)"; 
-             SqlConnection SqlConn = new SqlConnection("server=localhost;uid=finw;pwd=finw;database=FINW"); 
-             SqlCommand SqlCom = new SqlCommand(sql, SqlConn); 
-             SqlCom.Parameters.Add("@fk_solicitud", System.Data.SqlDbType.Int, 4); 
-             SqlCom.Parameters["@fk_solicitud"].Value = txtIdSolicitud.Text; 
-   
-             SqlCom.Parameters.Add("@si_titulo", System.Data.SqlDbType.VarChar, 150); 
-             SqlCom.Parameters["@si_titulo"].Value = txtTitulo.Text; 
-             SqlCom.Parameters.Add("@si_imagen", System.Data.SqlDbType.VarBinary); 
-             SqlCom.Parameters["@si_imagen"].Value = byteImage; 
-   
-             SqlConn.Open(); 
-             SqlCom.ExecuteNonQuery(); 
-             //SqlConn.Close(); 
-             SqlCommand SqlCom1 = new SqlCommand("Select MAX(ID) From FIN_SolicitudImagen ", SqlConn); 
-             string lastID = SqlCom1.ExecuteScalar().ToString(); 
-             SqlConn.Close(); 
-             lblId.Text = lastID; 
-         } 
-     } 
Espero les sirva, Salu2.