我正在尋找一種方法來動態設置變量名稱和值從數據庫中獲取的變量列表的值。設置變量值的名稱是通過C#中的字符串傳遞
我發現了很多用於獲取變量名稱和值的代碼,但沒有用於設置值的代碼。
我會盡力解釋自己。 認爲有一個包含兩列的數據庫,稱爲「名稱」和「值」。 說,例如,你有兩個記錄:
1)名稱= 「字符串1」,值= 「MESSAGE1」 2)名稱= 「字符串2」,值= 「消息2」
我的代碼閱讀兩條記錄,我想要的是一種方法,從記錄中獲取變量的名稱併爲其分配相應的值。
的代碼是這樣的:
SqlCommand cmd = new SqlCommand("Select Name, " + lng + " from dbo.traductions", Global.languageconn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
var v1 = dr["Name"].ToString();
var v2 = dr[lng].ToString();
//Something here to assign the value stored in v2 to the variable whose name is stored in v1
}
謝謝大家
爲什麼不只是創建了「名」和「價值」領域類,並閱讀您的SQL數據到那裏? –
因爲我的變量在第二時間將成爲組件的名稱。 例如,在數據庫中,我就必須記錄是這樣的: NAME = 「TextBox1的」,值1 = 「插入你的名字」,值2 = 「Entrez的VOTRE NOM」,值3 = 「geben SIE Ihren Namen」,值4 =」 Inserisci il tuo nome「 並且,根據我要讀取的值,相應的組件必須採用該值(本例中爲消息)。 所以我需要一段代碼,它允許我引用從包含「textbox1」的變量傳遞的textbox1。 所以我需要一些東西,這取決於db的查詢結果dinamically。 –
或者您可以在這些記錄上設置語言標誌,在類中包含語言字段,然後相應地選擇適當的對象。 –