1

C# で簡単なアプリケーションを作成したいと考えています。サービスベースのデータベースがプロジェクトに追加された、windowsForms アプリである必要があります。これで、テーブル ( IDnamesecond name) を作成し、プログラムのショー名を にしlistBoxます。で選択した現在の名前listBoxが削除されます (行が削除されます)

誰でもそれを行う方法を手伝ってもらえますか? データセットを試してみましたが、これは機能していますが、アプリを閉じて再度実行すると、テーブルが再びデータでいっぱいになります。

4

1 に答える 1

3

レコードをデータベースに保存し、それらをリストボックスにロードするには..

さて、リストボックスからレコードを削除するには、次のようにコーディングできます..

   protected void removeButton_Click(object sender, EventArgs e)
    {
        if (ListBox1.SelectedItem.Text == null)
        {
            MessageBox.Show("Please select an item for deletion.");
        }
        else
        {
            for (int i = 0; i <= ListBox1.Items.Count - 1; i++)
            {
                if (ListBox1.Items[i].Selected)
                {
                    DeleteRecord(ListBox1.Items[i].Value.ToString());
                }
            }
            string remove = ListBox1.SelectedItem.Text;
            ListBox1.Items.Remove(remove);
        }
    }

データベースからもそのレコードを削除するには、次のように使用します..

private void DeleteRecord(string ID)
{
    SqlConnection connection = new SqlConnection("YOUR CONNECTION STRING");
    string sqlStatement = "DELETE FROM Table1 WHERE Id = @Id";

try
{
    connection.Open();
    SqlCommand cmd = new SqlCommand(sqlStatement, connection);
    cmd.Parameters.AddWithValue("@Id", ID);
    cmd.CommandType = CommandType.Text;
    cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex)
{
    string msg = "Deletion Error:";
    msg += ex.Message;
    throw new Exception(msg);
}
finally
{
    connection.Close();
}
}
于 2013-01-14T10:19:27.887 に答える