scusate il disturbo.
sto cercando di fare una classe che mi permetta di inserire in un database un insieme di dati:
al membro della classe passo un vettore bidimensionale di x elementi, dove ilprimo elemento corrisponde al nome del campo della tabella, e il secondo al valore da asegnargli.
Per comporre la stringa da inviare al DB volevo usare un ciclo for che "componesse" i due elementi di un comando INSERT INTO.
Mi vien edato un errore nel numero degli elementi, perche testando l'indice 0 mi ritorna un numero errato di elementi... io ho fatto cosi:
try
{
for (int i=0; i<=arrayElem.GetLowerBound(0);i++)
{
if (ElementiDB.Length > 0)
{
ElementiDB = ElementiDB + ", " + arrayElem[i,0];
ValoriDB = ValoriDB + ", " + arrayElem[i,1];
}
else
{
ElementiDB = arrayElem[i,0];
ValoriDB = arrayElem[i,1]; }
}
SQLStringa = "INSERT INTO " + nomeTabellaDB + " (" + ElementiDB + ") VALUES (" + ValoriDB + ")";
inseriscidati.ConnDB.Open();
Console.WriteLine (SQLStringa);
// inseriscidati.DBComm.CommandText = SQLStringa;
// inseriscidati.DBComm.ExecuteNonQuery ();
}
catch
{/// impostare l'errore
throw;
}
Come mai mi restituisce un numero doppio di elementi tenendo conto che il vettore è cosi composto
VettoreElementi [0,0] = "nomecampo";
VettoreElementi [0,1] = "valore";
VettoreElementi [1,0] = "nomecampo";
VettoreElementi [1,1] = "valore";
VettoreElementi [2,0] = "nomecampo";
VettoreElementi [2,1] = "valore";
......................................
grazie