2012-11-22 50 views
1

我確實有一個ListView,我從數據庫調用(它的數據選擇)在每一行我有一個刪除,更新按鈕。 我將每個按鈕綁定到列表視圖中的ID,所以當我點擊它時,必須僅返回該行值!ListView Row從SQL刪除按鈕

但我想在我的查詢中調用此值更新或刪除所選行的功能。 我不知道如何將此值調入Query。

這裏是我的綁定示例:

<Button Name="delete" Click="Delete_Click" CommandParameter="{Binding Path=empID}"> 

這是我如何稱呼它:

Button _button = (Button)sender; 
string empID = _button.CommandParameter.ToString(); 

\ SQL東西

SqlCeConnection con = new SqlCeConnection(); 
       SqlCeDataAdapter ad = new SqlCeDataAdapter(); 
       SqlCeCommand cmd = new SqlCeCommand(empID); 

       String str = "UPDATE employee SET Isdeleted ='1' WHERE empID= " + empID; 
       cmd.Parameters.AddWithValue("@empID", empID); 

       ad.SelectCommand = cmd; 

希望我能得到一些幫助,因爲這查詢永遠不會工作到目前爲止!

回答

0

不知道它會工作但你應該給它一個嘗試,我做了一個本地SDF數據庫

var con = new SqlCeConnection("Data Source=" + "|DataDirectory|\\Database1.sdf"); 
       String str = "UPDATE employee SET Isdeleted ='1' WHERE empID= '"+ empID +"'"; 
       var cmd = new SqlCeCommand(str,con); 

       try 
       { 
        con.Open(); 
       } 
       catch (Exception a) 
       { 
        Console.WriteLine(a.ToString()); 
       } 
       finally 
       { 
        cmd.ExecuteNonQuery(); 
        con.Close(); 
       } 
0
SqlCeConnection con = new SqlCeConnection(); 
      SqlCeDataAdapter ad = new SqlCeDataAdapter(); 
      SqlCeCommand cmd = new SqlCeCommand(empID); 

      String str = "UPDATE employee SET Isdeleted ='1' WHERE empID= " + empID; 
      cmd.Parameters.AddWithValue("@empID", empID); 

      ad.SelectCommand = cmd; 

這是一個奇怪的設置

也許是:

如果
SqlCeConnection con = new SqlCeConnection(); 
      SqlCeDataAdapter ad = new SqlCeDataAdapter(); 
      String str = "UPDATE employee SET Isdeleted ='1' WHERE empID= @empID"; 

      SqlCeCommand cmd = new SqlCeCommand(str); 


      cmd.Parameters.AddWithValue("@empID", empID); 

      ad.UpdateCommand = cmd; 
+0

其刪除功能的工作但仍然無法弄清楚如何打開新頁面,從列表中選擇一行將顯示與emp相關的數據。我將按鈕綁定到列表視圖中的empID,我希望通過點擊詳細按鈕,可以在新頁面中顯示選定的項目數據。 –

+0

我會建議用給你麻煩的代碼打開一個新線程。看起來你已經有很多東西已經存在,但是你對這些命令的理解並不完全是它所需要的。 – gashach

+0

在這種情況下,您在此創建一個完全由數字(empID)組成的SQL查詢,然後創建一個包含非參數化SQL查詢並從未使用過的字符串,然後向SQLcommand添加一個參數。您的目標是創建一個帶有參數化查詢的SQL命令並添加參數,然後執行該命令。您還將更新命令綁定到數據適配器的SELECT命令。我修改了這個綁定到更新命令。您也可以單獨創建一個刪除命令,並將其綁定到da的delete命令。希望這可以幫助 – gashach