[英]How to update specific columns of access database using datagridview column name in C#
我有一個datagridview
,它的columnNames等於我在access database
列
現在我想要這樣:當用戶單擊savebtn
所有datagridview
列的值都會自動更新到我的數據庫中,
我已經嘗試過此代碼,但它使我syntax error
:
{“查詢表達式'@ 1Where FeedID = @ feedID'中的語法錯誤(缺少運算符)。”}
問題出在哪兒?
public void UpdatetFeeds(DataGridView dgv)
{
string StrCon = System.Configuration.ConfigurationManager.ConnectionStrings
["FeedLibraryConnectionString"].ConnectionString;
int FeedID = Convert.ToInt32(dgv.CurrentRow.Cells[0].Value);
using (OleDbConnection Connection = new OleDbConnection(StrCon))
{
Connection.Open();
using (OleDbCommand Cmd = new OleDbCommand())
{
Cmd.Connection = Connection;
foreach (DataGridViewColumn column in dgv.Columns)
{
string columnName = dgv.Columns[column.Index].Name;
object columnValue = dgv.CurrentRow.Cells[column.Index].Value;
Cmd.CommandText = @"Update tFeeds Set " + columnName + " =@"
+ columnValue + "Where FeedID=@feedID";
Cmd.Parameters.Add("@feedID", OleDbType.Integer).Value = FeedID;
Cmd.ExecuteNonQuery();
}
}
}
}
似乎至少您失去了空間
" Where FeedID=@feedID";
另外,您在這里擁有什么樣的數據: " =@" + columnValue + "
。似乎您需要在這里使用Braskets: " =@'" + columnValue + "'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.