Voila, j'ai un dataGrid (représentant des articles dont l'entreprise à eu besoin pour l'intervention) qui se remplit de deux manière :
* Tout d'abord grâce à une combo et des labels...
* Puis, si des articles sont déja dans la base alors voici le code pour remplir ce dataGrid :
string PieceDetachee = ("SELECT PD_DESIGNART as Désignation, PC_QTECONSO as quantité, CONVERT(varchar(10), PC_PU1MOMEN, 0) as PU_HT, CONVERT(varchar(10), PC_PU2MOMEN, 0) as PU_TTC, PC_REMISE as remise FROM PIECE_DETACHEE, PIECE_CONSOMMEE WHERE PIECE_DETACHEE.PD_CODART = PIECE_CONSOMMEE.PC_CODART AND PC_NUMINTER = '" + NumInter.Text + "'");
connection = new SqlConnection("Data Source=xpsp2-49f3e18f9;Initial Catalog=DistribInfo;Integrated Security=SSPI");
connection.Open();
try
{
SqlDataAdapter dataAdapter2 = new SqlDataAdapter(PieceDetachee, connection);
dataAdapter2.Fill(ds2,"PieceDetachee");
dataGrid3.DataSource = ds2;
dataGrid3.DataMember = "PieceDetachee";
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
connection.Close();
}
Mon problème est le suivant :
* Si des articles existe déja dans la base alors, le tableau se remplit(ça sans problème) mais si ensuite, je veux rajouter des articles en plus alors la problème, ça efface les existant.
Donc comment dois-je faire pour que ceux que je souhaite rajouter, se mette à la suite??
Je récapitule car je ne me trouve pas trés clair : Je souhaiterais faire en sorte que les articles supplémentaires s'ajoute à la suite des autres.
Donc en gros, je souhaite savoir choses :
* Comment faire pour obtenir la dernière ligne remplie??
* Comment faire pour rajouter la ligne se situant en dessous de la dernière ligne rempli??
Assez urgent, donc si vous avez des idées, n'hésiter vraiment pas!!
J'ai analysé mon problème et aprés mainte reflexion je souhaiterais avoir des renseignements sur les choses suivantes.
Je souhaite remplir mon dataGrid à l'aide d'une requête qui est composé de 2 tables. Je suis en mode connecté.
* Est-il donc possible de remplir mon dataGrid à l'aide de "ArrayList"?? Si oui, de quel manière procédé vous??
Car j'ai essayé cela mais ça fonctionne pas.
ArrayList liste = new ArrayList();
private void NumInter_SelectedIndexChanged(object sender, System.EventArgs e)
{
string myReq;
// string PieceDetachee = ("SELECT PD_DESIGNART as Désignation, PC_QTECONSO as quantité, CONVERT(varchar(10), PC_PU1MOMEN, 0) as PU_HT, CONVERT(varchar(10), PC_PU2MOMEN, 0) as PU_TTC, PC_REMISE as remise FROM PIECE_DETACHEE, PIECE_CONSOMMEE WHERE PIECE_DETACHEE.PD_CODART = PIECE_CONSOMMEE.PC_CODART AND PC_NUMINTER = '" + NumInter.Text + "'");
connection = new SqlConnection("Data Source=toshiba-3;Initial Catalog=DistribInfo;Integrated Security=SSPI");
command = new SqlCommand("SELECT PD_DESIGNART as Désignation, PC_QTECONSO as quantité, CONVERT(varchar(10), PC_PU1MOMEN, 0) as PU_HT, CONVERT(varchar(10), PC_PU2MOMEN, 0) as PU_TTC, PC_REMISE as remise FROM PIECE_DETACHEE, PIECE_CONSOMMEE WHERE PIECE_DETACHEE.PD_CODART = PIECE_CONSOMMEE.PC_CODART AND PC_NUMINTER = '" + NumInter.Text + "'", myReq);
connection.Open();
try
{
dataGrid3.DataSource = dt;
liste.Add(command);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Aucun dit : F:\Distrib(test)\Distrib\Distrib\Form1.cs(254): Argument '2'*: impossible de convertir de 'string' en 'System.Data.SqlClient.SqlConnection'
F:\Distrib(test)\Distrib\Distrib\Form1.cs(254): La méthode surchargée correspondant le mieux à 'System.Data.SqlClient.SqlCommand.SqlCommand(string, System.Data.SqlClient.SqlConnection)' possède des arguments non valides