Gros problemes d'édition d'une text box remplie via une Bd Sql

cs_jerome_p Messages postés 74 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 28 juin 2006 - 14 avril 2005 à 13:13
cs_jerome_p Messages postés 74 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 28 juin 2006 - 15 avril 2005 à 12:30
Bonjour,

Je remplis une textBox via une Bd, puis je veux modifier le contenu et mettre le nouveau contenu dans la bd.
Mais la horreur, le contenu de ma Tb reste toujours celui du début. Meme avec l'evenement TextBox_Changed rien n'y fait, il ne veut pas prendre ma nouvelle valeur.

Pouvez-vous m'aider Svp
Merci d'avance

Bien a vous
Jérôme

6 réponses

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
14 avril 2005 à 19:36
Est-ce que ta bd est updatée ?

Montre ton code...

yopyop
0
cs_jerome_p Messages postés 74 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 28 juin 2006
15 avril 2005 à 09:43
Non ma bd n'est pas udaptée car lors de l'update il ne prend pas ma nouvelle valeur presente dans ma text box mais il prend toujours l'ancienne valeur, celle presente dans la bd

voici mon code:

ExperienceStatementGateway anExperienceStatementGateway =
new ExperienceStatementGateway();


ExperienceStatementTDS ds = anExperienceStatementGateway.LoadOnLanguageIdAndEmployeeId(DropDownListLanguage.SelectedValue,CheckEmployeeId().ToString());


ExperienceStatementModule anExperienceStatementModule =
new ExperienceStatementModule();


ExperienceStatementTDS.ExperienceStatementRow aRow;


aRow = anExperienceStatementModule.CreateNew();







//Fill With new TextBox values.
aRow.Summary = TextBoxSummary.Text;
aRow.PersonalDesiderata = TextBoxPersonalDesiderata.Text;





if (anExperienceStatementModule.IsDataValid())


anExperienceStatementGateway.Update(anExperienceStatementModule.GetDataSet());



else


ErrorHandler.InsertError("Data are not valid");

Merci
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
15 avril 2005 à 10:16
re,

ton code ne montre pas ce qui se passe derrière tes objets... mais tu ne dois pas appeler un truc du genre AcceptChanges sur ton dataset avant de faire l'update ?

est-ce que tu utilises un générateur de code (ou d'objet)? si oui, lequel ?
yopyop
0
cs_jerome_p Messages postés 74 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 28 juin 2006
15 avril 2005 à 11:01
heu non je n'utilise pas de générateur de code ni d'objets

public

void Update(ExperienceStatementTDS ds)


{



try


{


SqlDataAdapter da = ConnectionManager.GetDataAdapter();


SqlCommand aCommand = GetUpdateCommand();


da.UpdateCommand = aCommand;


da.Update(ds,
this.TableName);


}



catch (Exception ex)


{



// TODO: Handle exceptions


logger.Error(ex);


}


}


private SqlCommand GetUpdateCommand()


{



string sqlStatement = @"UPDATE " +
this.TableName +


@" SET Summary = @Summary,


QualityRating = @QualityRating,


PersonalDesiderata = @PersonalDesiderata,


WHERE ExperienceStatementId = @ExperienceStatementId";




SqlCommand aCommand = ConnectionManager.GetCommand(sqlStatement);


AddParametersToCommand(aCommand);



return aCommand;


}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
15 avril 2005 à 11:11
re,

bon... j'ai pas beaucoup travaillé avec les datasets (préfère les datareader).

mais juste une question:
tu crées une nouvelle row à ton dataset
aRow = anExperienceStatementModule.CreateNew();

tu modifies cette row avec tes nouvelles valeurs
//Fill With new TextBox values.
aRow.Summary = TextBoxSummary.Text;
aRow.PersonalDesiderata = TextBoxPersonalDesiderata.Text;

et ensuite tu fais update....

mais
1/
pourquoi créer une nouvelle row alors que c'est un update ?
2/
ta procédure stockée attends un paramètre @ExperienceStatementId.
tu ne le crées nulle part dans ta aRow... ce paramètre est donc vide non ?

yopyop
0
cs_jerome_p Messages postés 74 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 28 juin 2006
15 avril 2005 à 12:30
Ben c'est comme ca qu'on doit faire!
Je l'ai deja fais des dizaines de fois dans ce programme et ca fonctionne toujours.
@ExperienceStatementId recoit bien le parametre qu'il attend.
Mais le probleme ne viens pas la!!
Ma textBox ne prend jamais le nouveau contenu. meme si je fais un simple
string test = TextBox1.text;
0
Rejoignez-nous