[英]Update the database when a field is deleted in datagridview?
我有一個datagridview使用代碼添加表數據,我想刪除一行數據並在數據庫表中更新它。 我該怎么做呢? 有小費嗎?
代碼如下所示:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
namespace project
{
public partial class frmTestPrint : Form
{
//with code
SqlConnection cn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=F:etc");
SqlDataAdapter da;
DataTable dt = new DataTable();
public frmTestPrint()
{
InitializeComponent();
}
//with code
private void BindDataGridView2()
{
string command = "select * from booking";
da = new SqlDataAdapter(command,cn);
da.Fill(dt);
dataGridView2.DataSource = dt;
}
private void frmTestPrint_Load(object sender, EventArgs e)
{
//with code
BindDataGridView2();
}
private void btnDelete_Click(object sender, EventArgs e)
{
}
}
}
我嘗試了許多不同的方法,並陷入困境,我真的需要一些幫助來指導我進行此操作,因此,如果有人可以提供幫助,請這樣做。
經過進一步的審查,您似乎在StackOverflow上問了很多有關WinForms中基本操作的問題。 我對您的建議是查找材料,以學習如何使用所選的任何語言和框架進行編程,並嘗試了解所編寫的代碼在做什么。
當您要求所有人為您編寫代碼時,您會遇到的麻煩是-您不完全了解您的代碼在做什么,並且很難修復錯誤。 在過去,我也這樣做,並且花了10倍的時間來嘗試讓別人的代碼為我工作,而不是學習自己編寫代碼。
我知道您最初的想法是,您最終將要求其他人編寫您的代碼來弄清楚這一點,但是根據我的經驗,事實並非如此,您不會以這種方式學習任何東西。
嘗試這個,
1,您需要知道需要刪除哪一行(ID)。 因此,請嘗試:
string myID = dataGridView2.CurrentRow.Cells["ID"].Value
接下來,您需要更新數據庫。 現在,您可以使用字符串命令來執行此操作,但是我不會這樣做,而是使用存儲過程。 所以在你的sql中:
CREATE PROCEDURE myDeleteQuery
@paramID
AS
DELETE * FROM booking WHERE booking.ID = @param
非常簡單的刪除查詢,只是不知道您的表結構。
您想要做的最后一件事就是將其全部修復,因此請嘗試此操作。
using (SqlConnection AutoConn = new SqlConnection(cn))
{
AutoConn.Open();
using (SqlCommand InfoCommand = new SqlCommand())
{
using (SqlDataAdapter infoAdapter = new SqlDataAdapter(InfoCommand))
{
InfoCommand.Connection = AutoConn;
InfoCommand.CommandType = CommandType.StoredProcedure;
InfoCommand.CommandText = "myDeleteQuery";
InfoCommand.Parameters.AddWithValue("@paramID", myID);
InfoCommand.CommandTimeout = 180;
InfoCommand.ExecuteScalar()
AutoConn.Close();
}
}
}
這將更新您的表。 現在,您需要做的就是顯示更改,因此只需回想一下您的
BindDataGridView2();
和你排序。
希望這對您有幫助,我也能正確閱讀您的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.