2015-05-14 45 views
1
protected DataTable RetrieveAlumni2() 
     { 
      { 
       MySqlConnection con = new MySqlConnection("server=100.0.0.0;user id=id;password=pass;database=db;persistsecurityinfo=True"); 
       MySqlCommand cmd = new MySqlCommand("get_alumni_by_city", con); 
       MySqlDataAdapter da = new MySqlDataAdapter(cmd); 
       DataTable dt = new DataTable(); 
       try 
       { 
        string city = textBox1.Text; 
        con.Open(); 
        cmd.CommandType = CommandType.StoredProcedure; 
        cmd.Parameters.AddWithValue("@city", SqlDbType.VarChar).Value = city; 
        da.SelectCommand = cmd; 
        cmd.ExecuteNonQuery(); 
        da.Fill(dt); 
        dataGridView1.DataSource = dt; 
       } 
       catch (System.Exception ex) 
       { 
        MessageBox.Show(ex.Message); 
       } 
       finally 
       { 
        cmd.Dispose(); 
        con.Close(); 
       } 
       return dt; 
      } 
     } 

給錯誤:掙扎着從存儲過程填充數據網格與參數

"input string was not in a correct format"

市是在MySQL服務器VARCHAR。任何幫助,將不勝感激。

+0

在哪條線上看到這個錯誤? 「城市」的價值是什麼? 「get_alumni_by_city」sp的定義是什麼?調試您的代碼並告訴我們。 –

+0

表/存儲過程中varchar字段的長度是多少? – Adil

+0

在cmd.ExecuteNonQuery(); – hMp

回答

0

你剛剛嘗試過嗎?

cmd.Parameters.AddWithValue("@city","" + city + ""); 
+1

它的工作表示感謝! – hMp

0

檢查存儲過程中@city的類型。如果它與你投擲的東西不匹配,它會拒絕它。

+0

兩者都是varchar(45),這很奇怪。 – hMp