2011-10-30 40 views
0
public void saveImage(byte[] image, int patient_id, MySqlConnection con) 
    { 
     string sql = "select * from patient where id ="+patient_id; 
     DataSet ds = new DataSet("patient"); 
     MySqlDataAdapter dAdapter = new MySqlDataAdapter(sql, con); 
     MySqlCommandBuilder builder = new MySqlCommandBuilder(dAdapter); 
     dAdapter.Fill(ds, "patient2"); 
     try 
     { 
      ds.Tables["patient2"].Rows[0]["picture"] = image; 
      dAdapter.Update(ds, "patient2"); 

      // ds.Tables["patient2"].Rows[0].AcceptChanges(); 


      con.Close(); 
      con.Open(); 
     } 
     catch (Exception exs) 
     { 
      Console.WriteLine(exs.Message); 
     } 

    } 

後的MySQL突然不能執行查詢,我怎麼能解決這個錯誤......在此之後將不執行下面的查詢後,將工作......發生了什麼?我已經嘗試過評論「con.close」和「con.open」兩種方式,...不知怎的,這是跑

+0

你會得到什麼錯誤? – SLaks

+0

沒有具體的錯誤...它只是沒有下一個查詢將運行..它的像mysql只是把自己關閉... –

+1

爲什麼?怎麼了? – SLaks

回答

1

我懷疑這是因爲您關閉了連接,然後重新打開它。你不應該重新打開一個關閉的連接......實際上我很驚訝它不會拋出一個InvalidOperationException。無論如何,如果你的方法收到一個打開的連接作爲參數,它不應該關閉它。打開連接的代碼負責關閉它。

+0

我發現圖片大於1.5MB,並且使用LONGBLOB進行即時通訊,發現客戶端正在斷開連接,並且由於該問題,mysql已經消失...嘗試打開並關閉看到它發生了什麼......生病稍後編輯我的帖子... –