1

各行にデータベース(データの選択)から呼び出すListViewがあり、削除、更新ボタンが1つあります。各ボタンをリストビューのIDにバインドするので、クリックしたときにその行の値のみを返す必要があります。

しかし、クエリ関数でこの値を呼び出して、選択した行を更新または削除したいと思います。この値をクエリに呼び出す方法がわかりません。

これが私のバインディングサンプルです:

<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;

このクエリはこれまで機能しなかったので、私が助けを得ることができることを願っています!

4

2 に答える 2

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();
                }
于 2012-11-22T02:47:53.500 に答える
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; 
于 2012-11-22T02:25:51.223 に答える