#c#
#c#
Вопрос:
Я создал combobox с элементами.
Визуально в моей форме будут отображаться тексты элементов, и я хочу изменить значения на числа при вставке в базу данных.
пример :
private void contact(){
TypeAdrCmBx.Items.Add("NPAI");
TypeAdrCmBx.Items.Add("Personnelle");
TypeAdrCmBx.Items.Add("Professionelle");
TypeAdrCmBx.Items.Add("Vacances"); }
это мой запрос на вставку :
string Query2 = "INSERT INTO [dbo].[Adresses] ([Type] ,[Adresse0],[Adresse1],[Adresse2],[CPT],[Ville],[Pays]) VALUES ('" this.TypeAdrCmBx.Text "','" this.AdrTxtBx0.Text "','" this.AdrTxtBx1.Text "','" this.AdrTxtBx2.Text "','" this.CptTxtBx.Text "','" this.VilleTxtBx.Text "','" this.PaysCmBx0.Text "')";
в базе данных значения combobox вставляются в виде чисел :
"NPAI" = 1
"Personnelle" = 2
"Professionelle" = 3
"Vacances" = 4
Комментарии:
1. Вы пробовали конвертировать. ToInt32()?
Ответ №1:
Решение на стороне базы данных,
Для этого вам нужно 2 таблицы в базе данных. Одна таблица будет содержать строки и значения типа
X таблица
ID Number Value
1 1 "NPAI"
2 2 "Personnelle"
3 3 "Professionelle"
4 4 "Vacances"
и в другой таблице вы будете использовать только числа.
Когда вы захотите их прочитать, вы будете использовать левое соединение.
Решение на стороне c #.
Вы можете в основном преобразовать их с помощью if,
string a="";
if (TypeAdrCmBx.Text.Equals("NPAI"))
a="1";
else if (TypeAdrCmBx.Text.Equals("Personnelle"))
a="2";
А затем просто сделайте вставку с помощью a.
Надеюсь, это поможет.