Mam 6 etykiet i 6 obiektów (1 Datepicker, 2 comboboxes i 3 textboxes). Nazwy etykiet to nazwy kolumn z bazy danych mysql. A zawartość obiektów to wartości tego.
Jeśli kliknę "Zapisz", chcę zapisać wartości w bazie danych.
Co znalazłem (ale nie działa, ponieważ nie mam takiej samej liczby pól tekstowych jak etykiety):
string query = "INSERT INTO "+ privateCustomerTablename +" (";
for (int i = 0; i < textboxes.Count; i++)
{
var column = labels[i];
if (i < textboxes.Count - 1)
query += column.Name + ",";
else
query += column.Name;
}
query += ") VALUES (";
for (int i = 0; i < textboxes.Count; i++)
{
var value = textboxes[i];
if (i < textboxes.Count - 1)
query += """ + value.Text + "",";
else
query += """ + value.Text + "")";
}
Tak więc chciałem przechowywać wszystkie dzieci z Stackpanel (mam 2 Stackpanele, 1 dla etykiet i 1 dla obiektów), aby zmienić textboxes.Count w liczbie obiektów.
Ale w jaki sposób mogę przechowywać dzieci z Stackpanelu z różnymi obiektami na liście, aby to zrobić?
Odpowiedzi:
1 dla odpowiedzi № 1Ale w jaki sposób mogę przechowywać dzieci z Stackpanelu z różnymi obiektami na liście, aby to zrobić?
Możesz przechowywać wszystkie dzieci w jednym List<UIElement>
:
List<UIElement> allElements = stackPanel1.Children.OfType<UIElement>().ToList();
Lub możesz przechowywać elementy konkretnego na specjalistycznej liście, np .:
List<TextBox> allTextBoxesInTheStackPanel = stackPanel1.Children.OfType<TextBox>().ToList();
Czy to odpowiada na twoje pytanie?
Jeśli chodzi o część SQL, zawsze powinieneś preferować używanie parametrów:
Dlaczego zawsze wolimy używać parametrów w instrukcjach SQL?