![](/img/trans.png)
[英]How to insert DataGridView data in to table of access database using c#?
[英]c# how to access data fields of the selected in DataGridView database record
我是數據庫編程的新手,所以我可能有一個非常簡單的問題。
在表單上,我有一個DataGridView,它顯示來自SQL數據庫和單個表的所有記錄。 當我選擇一行(OnRowEnter事件)時,我想在textBox中顯示相同的數據,這些數據沒有綁定到DataSource,但是我不知道如何訪問所選的記錄及其字段。 我已經看到許多使用SQL語句的示例,但這是唯一的方法嗎? 還是有一個更簡單的方法。 我以為我應該幾乎可以直接訪問當前記錄及其字段? 可能嗎?
我正在使用Visual Studio Community 2013
事先感謝您的幫助。
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
{
string asd = dataGridView1.Rows[e.RowIndex].Cells["NameOfColumn"].Value.ToString();
}
您可以通過此行訪問任何行的任何列。
編輯:您剛剛告訴我,您想從數據庫中填充2個文本框,然后單擊要保存/覆蓋的按鈕(保存-覆蓋)。 那么為什么不從數據庫中填充它呢?
using (FbConnection con = new FbConnection(connectionString))
{
con.Open();
using (FbCommand cmd = new FbCommand("SELECT TEXT1, TEXT2 FROM TABLE WHERE CONDITION", con))
{
FbDataReader dr = cmd.ExecuteReader();
if(dr.Read())
{
textBox1.Text = dr[0].ToString();
textBox2.Text = dr[1].ToString();
}
}
con.close();
}
然后在用戶按保存后,您只需獲取全文並更新數據庫
using (FbConnection con = new FbConnection(connectionString))
{
con.Open();
using (FbCommand cmd = new FbCoimmand("UPDATE TABLE SET TEXT1 = @Text1, TEXT2 = @Text2 WHERE CONDITION))
{
cmd.Parameters.AddWithValue("@Text1", textBox1.Text);
cmd.Parameters.AddWithValue("@Text2", textBox2.Text);
cmd.ExecuteNonQuery();
}
con.Close();
}
如果用戶在其他文本框中編寫文本,並且您想將該文本添加到數據庫中的當前文本,那么您只需從數據庫中讀取文本並將其放入字符串中,就可以在該字符串上從用戶中添加字符串並將其保存到數據庫中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.