/ / Come conservare tutti i bambini da uno StackPanel in una lista? - c #, mysql, wpf

Come conservare tutti i bambini da uno StackPanel in una lista? - c #, mysql, wpf

Ho 6 etichette e 6 oggetti (1 Datepicker, 2 caselle combinate e 3 caselle di testo). I nomi delle etichette sono nomi di colonne da un database mysql. E il contenuto degli oggetti sono i valori per questo.

Se clicco su "Salva" voglio salvare i valori nel database.

Quello che ho trovato (ma non funziona perché non ho la stessa quantità di caselle di testo come le etichette):

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 + "")";
}

Quindi, per memorizzare tutti i figli di uno Stackpanel (ho 2 pannelli di supporto, 1 per etichette e 1 per gli oggetti) per cambiare casella di testo. Conteggio oggetti nel conteggio degli oggetti.

Ma come posso immagazzinare i bambini di uno Stackpanel con oggetti diversi in una lista per farlo?

risposte:

1 per risposta № 1

Ma come posso immagazzinare i bambini di uno Stackpanel con oggetti diversi in una lista per farlo?

Puoi memorizzare tutti i bambini in un singolo List<UIElement>:

List<UIElement> allElements = stackPanel1.Children.OfType<UIElement>().ToList();

Oppure puoi memorizzare elementi di uno specifico in un elenco specializzato, ad esempio:

List<TextBox> allTextBoxesInTheStackPanel = stackPanel1.Children.OfType<TextBox>().ToList();

Questo risponde alla tua domanda?

Per quanto riguarda la parte SQL, dovresti sempre preferire l'utilizzo dei parametri:

Perché preferiamo sempre utilizzare i parametri nelle istruzioni SQL?