c# - problème valeur id et row changed

Windows Application

c# - problème valeur id et row changed


kiwiCH 05-07-2008, 8:14
Bonjour,

J'ai 2 problème, mais pour mieux me faire comprendre voici mon code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ComponentFactory.Krypton.Toolkit;

namespace TheProject
{
public partial class frmAddTheToRecette : ComponentFactory.Krypton.Toolkit.KryptonForm
{
private Int32 _idRecette;
public Int32 IdRecette
{
get { return _idRecette; }
set { _idRecette = value; }
}
//Définir ici que sa doit prendre l'éléments double clicked dans cette même forme.
private Int32 _idElement;
public Int32 IdElement
{
get { return _idElement; }
set { _idElement = value; }
}

public frmAddTheToRecette()
{
InitializeComponent();
}

private void dataBaseReaload()
{
dataBase mydatabase = new dataBase("localhost", "theproject", "root");
bool connectionStatus = mydatabase.SelectRecette("SELECT * FROM xdb_element WHERE category=1;");

kryptonDataGridView1.DataSource = mydatabase.myDataTable;

kryptonDataGridView1.Columns["name"].HeaderText = "Nom";
//kryptonDataGridView1.Columns["product"].HeaderText = "Produits";
kryptonDataGridView1.Columns["price"].HeaderText = "Prix/Kg";
kryptonDataGridView1.Columns["category"].Visible = false;

kryptonDataGridView1.AutoGenerateColumns = true;
kryptonDataGridView1.Refresh();
}

private void frmAddTheToRecette_Load(object sender, EventArgs e)
{
dataBaseReaload();
}

private void kryptonDataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
dataBase mydatabase = new dataBase("localhost", "theproject", "root");
Int32 idElement = Int32.Parse(kryptonDataGridView1.CurrentRow.Cells["category"].Value.ToString());
//TODO : Modifier la suite de ce code qui est faux

Int32 idRecette = _idRecette; //Int32.Parse(kryptonDataGridView1.CurrentRow.Cells["id"].Value.ToString());

bool mySelect = mydatabase.updateAll("INSERT INTO xdb_recetteComposant(element, recette) VALUES('" + idElement + "', '" + _idRecette.ToString() + "');");
if (mySelect)
{
MessageBox.Show("Le thé à été ajouté avec succès", "Ajouter un thé à la recette", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Le thé n'a pas été ajouté avec succès", "Ajouter un thé à la recette", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}

Ici, idRecette ne prends pas l'id de la recette situé dans la form précédente pour y enregistré des composants. En effet, il me dit toujours id=0 et donc ne s'enregistre pas dans la recette.

Mon 2ème problème est comment codé ceci:

//if (kryptonDataGridView1.Columns["qt"].changed == true)
//{
// bool myUpdate = mydatabase.updateAll("UPDATE qt FROM xdb_recetteComposant WHERE qt=" + kryptonDataGridView1.columns["qt"].value +" AND recette= " + _idRecette +";");

// if (myUpdate)
// {
// MessageBox.Show("La mise à jour a été effectuée", "Mise à jour des quantités", MessageBoxButtons.OK, MessageBoxIcon.Information);
// }
// else
// {
// MessageBox.Show("La mise à jour n'a pas pu être effectuée", "Mise à jour des quantités", MessageBoxButtons.OK, MessageBoxIcon.Warning);
// }
// dataBaseReload();
//}

En effet, la valeur qui doit être à true dans la conddition n'existe pas avec l'intelliSens. et dans la requete, pour récupéré la valeur du Row.

L'idée est que lorsque je change ma quantité, le code le détecte

Vous avez une vue "avancé" du problème ici:
http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=3296880&SiteID=12

et ici:
http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=3302045&SiteID=12

Le client passe chercher son logiciel vendredi :/.

Je vous remercie de l'aide apportée.

Sponsorisé par Community Server


Conditions d’utilisation et Copyright
Respect de la vie privée