/ / salvataggio di più valori checklistbox in un database a riga singola usando c # - c #, postgresql

salvare più valori della lista di controllo in un unico database di righe usando c # - c #, postgresql

È possibile memorizzare più valori in una cella nel database? Sulla base dell'immagine qui sotto sulla colonna famcon, è possibile inserire solo un valore da una casella di controllo selezionata anche se l'utente ha scelto più valori.

questa è la mia domanda per questa tabella:

foreach (DataRowView item in this.checkedListBox1.CheckedItems)
{
NpgsqlCommand cmd = new NpgsqlCommand("Insert into name (eid, name, famcon) SELECT @eid, @name, @famcon", conn);
cmd.Parameters.AddWithValue("@eid", textBox1.Text);
cmd.Parameters.AddWithValue("@name", textBox2.Text);
string[] value = item.Row[0].ToString().Split(",");
cmd.Parameters.AddWithValue("@famcon", value);

cmd.ExecuteNonQuery();
}

inserisci la descrizione dell'immagine qui

risposte:

0 per risposta № 1

non stai aggiungendo gli elementi di string[] value nel tuo campo. provare:

string[] value = item.Row[0].ToString().Split(",");
string insert="";
foreach (string s in value)
{
insert=" "+s;
}
cmd.Parameters.AddWithValue("@famcon", insert);

0 per risposta № 2

Potresti usare a bitset type, che imposta flag posizionali in una stringa.

Ogni bit rappresenterebbe un valore individuale, ma dovresti mantenere il collegamento tra bit e valori, ovvero quale bit è quale.

In alternativa funziona una stringa separata da spazio o virgola. Ogni stringa è un codice leggibile dall'uomo che rappresenta un valore. Dovresti analizzare la stringa ma è più facile da leggere rispetto ai valori di bit.