我需要更新的表在我的數據庫稱爲Calculated
,但因爲我有我已經保存在我的系統這麼多值變量,在表中添加/更新,我在數據庫中創建了一個名爲Database Relationships
的單獨表格。使用數據庫值來調用一個變量名稱相同
此Database Relationships
表具有名爲Calculated Value
的列,該列包含Calculated
表的所有字段名稱。另一列System Field
保存的是我已經創建並給變量賦值,這些都是string
類型的所有名稱和因此,通過使用一個FOREACH
循環
OleDbDataAdapter relationshipAdapter = new OleDbDataAdapter(relationshipCmd);
DataTable relationshipTable = new DataTable();
relationshipAdapter.Fill(relationshipTable);
string update = "Update [Calculated] SET ";
int i = 0;
int len = relationshipTable.Rows.Count;
foreach (DataRow drr in relationshipTable.Rows)
{
string calc = drr["Calculated Field"].ToString();
var sys = drr["System Field"].ToString();
if (i == len - 1)
{
update += "[" + calc + "] = " + sys + ";";
}
else
{
update += "[" + calc + "] = " + sys + ", ";
}
i++
}
update += "WHERE [NSN] = '" + NSN + "';";
OleDbCommand updateCmd = new OleDbCommand(update);
涉及到相應的Calculated Value
但是這不起作用,因爲經過一些調試(?),我做了一個簡單的Console.WriteLine(sys)
,它將打印出System Field
列中的字符串,而不是系統中具有相同名稱的變量。
我目前使用Microsoft Access作爲我的數據庫平臺。
你是什麼意思的系統中的同名變量?這些定義或範圍在哪裏?我在代碼中沒有看到任何這樣的變量。 – sachin
你說過,在表DataBaseRelationships中有兩列都包含名稱。那麼你想在哪裏插入值? – sachin
我沒有添加他們的問題,因爲有像他們112。 我的意思相同名稱的變量,是例如,我創建了一個名爲'king'變化的,「喬治」的值。因此,這個變量'king'需要存儲在名爲'Calculated'的表格中,在King's Name字段下。但是因爲我有超過112個這樣的變量,所以創建一個'UPDATE'語句會有點太大,很難跟蹤。 – Kingler