簡體   English   中英

如何從datagridview和數據庫中刪除數據

[英]How to delete data from datagridview and database

據我所知。 來自datagridview的數據將被刪除,但不會從實際數據庫中刪除。 我有一個設備表,其名稱作為列之一,也被指定為主鍵。 有人可以幫我解決數據庫方面的問題嗎?

      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Linq;
      using System.Text;
      using System.Windows.Forms;
      using System.Data.SqlClient;
      using System.Web.UI.WebControls;
      namespace Fitness_club
   {
        public partial class editequipment : Form
   {
    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Gym.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
    SqlDataAdapter sda;
    DataSet ds;
    DataTable dt;
    SqlCommandBuilder scb;


    public editequipment()
    {
        InitializeComponent();
    }

    public editequipment(string str)
    {
        InitializeComponent();
        groupBox1.Text = "View All";
        bindingNavigator1.Visible = false;
        dataGridView1.ReadOnly = true;
    }

    private void editequipment_Load(object sender, EventArgs e)
    {
        con = new SqlConnection();
        con.ConnectionString = (@"Data             Source=.\SQLEXPRESS;AttachDbFilename=D:\Gym.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
        con.Open();
        sda = new SqlDataAdapter("select * from equipment", con);
        ds = new DataSet();
        sda.Fill(ds);
        dataGridView1.DataSource = ds.Tables[0];

    }



    private void button1_Click_1(object sender, EventArgs e)
    {
        try
        {
            scb = new SqlCommandBuilder(sda);
            sda.Update(ds);
            MessageBox.Show("Updated Sucessfully");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error\n" + ex.Message, "Error",   
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    private void button2_Click_1(object sender, EventArgs e)
    {



        con = new SqlConnection();

        con.ConnectionString = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Gym.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
        con.Open();
        foreach (DataGridViewCell onecell in dataGridView1.SelectedCells)
        {
            if (onecell.Selected)
            {
                dataGridView1.Rows.RemoveAt(onecell.RowIndex);
                try
                {

                    con.Open();
                    SqlCommand cmd = new SqlCommand("delete from equipment where name='" + Name.ToString() + "'", con);
                    cmd.ExecuteNonQuery();
                    con.Close();
                    dataGridView1.Update();
                    dataGridView1.Refresh();

                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                MessageBox.Show("Deleted sucessfully");
            }
        }
    }
}
       }

檢查連接是否未打開,然后僅打開連接並執行刪除操作。

我建議使用重新綁定數據,而不是目視刪除。 首先執行刪除操作,然后重新綁定數據網格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM