[Base de données SQL server] Tableau 2D => datagrid
Bonjour,
Je cherche à remplir un datagrid en extrayant les données contenues dans un tableau à deux dimensions...
Malheureusement, après plusieurs recherches infructueuses, et un creusage de tête entrainant une migraine abominable, je ne sais toujours pas comment faire...:aie:
Tout, ou pratiquement, a été essayé...
En fait, je voudrais pouvoir insérer une ligne dans mon datagrid, en partant du principe que mon tableau 2D récupère toutes les informations du dataGrid, et les stock, pour les réafficher, et les enregistrer dans la base de donnée SQL Server. Vous m'suivez jusque là? :roll:
Pour éclairer voici le code qui me permet de transferer les données du dataGrid dans mon tableau:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| L = dsMateriel1.MATERIELS.Rows.Count;
C = dsMateriel1.MATERIELS.Columns.Count;
string [,] tab = new string [L,C] ;
try
{
//Ouverture de la connexion:
Cnx2.Open();
Cmd2.Connection=Cnx2;
// Création de la requête SQL:
Cmd2.CommandText="SELECT * FROM MATERIELS;";
SqlDataReader reader = Cmd2.ExecuteReader();
k=0;
while ( reader.Read())
{
for (i=0; i<L; i++)
{
for (j=0; j<C; j++)
{
if (reader.IsDBNull(k))
{
tab[i,j] = Convert.ToString(reader.GetValue(k));
}
else
{
tab[i,j] = Convert.ToString(reader.GetValue(k));
}
k = k+1;
}
k = 0;
}
}
MessageBox.Show("Tableau rempli!");
//Fermeture de la connexion:
reader.Close();
Cnx2.Close(); |
Et voici ce que je tente de faire dans le sens inverse:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| try
{
//Ouverture de la connexion:
Cnx2.Open();
Cmd2.Connection=Cnx2;
// Création de la requête SQL:
Cmd2.CommandText="SELECT * FROM MATERIELS;";
SqlDataReader reader = Cmd2.ExecuteReader();
k=0;
for (i=0; i<L; i++)
{
for (j=0; j<C; j++)
{
dsMateriel1.MATERIELS.Rows[j] = Convert.ChangeType(tab[i,j]);
dsMateriel1.MATERIELS.Columns[i] = Convert.ChangeType( tab[i,j]);
}
k = 0;
}
MessageBox.Show("Tableau copié!");
//Fermeture de la connexion:
reader.Close();
Cnx2.Close();
} |
Un grand merci à ceux qui pourront m'aider!
Je suis ouvert à toute les suggestions possibles et imaginables!;)