Winform Binding Controls OracleDataAdapter [Résolu] [C#] - C#/.NET managed - Programmation
Marsh Posté le 12-02-2013 à 12:38:20
SplitForm a écrit : Bonjour,
|
A vérifier mais l'objet DataTable n'a pas de notion d''enregistrement sélectionné (ie. Tu ne veux afficher qu'un seul nom dans ton textBox).
Pour faire un binding avec les champs d'un enregistrement en base de données il faut utiliser un BindingSource qui va faire l'intermédiaire et enregistrer quel est l'enregistrement courant en plus de pouvoir naviguer entre les enregistrements, ajouté un nouveau, supprimer un enregistrement, ...
Marsh Posté le 12-02-2013 à 13:27:28
Merci pour la réponse, j'ai trouvé une solution, je ne sais pas si c'est la meilleur, mais cela fonctionne
Du coup, je passe par un DataSet et un BindingSource, car l'écran est plus complexe que ce simple bout de code.
Split'
|
Marsh Posté le 12-02-2013 à 12:30:57
Bonjour,
J'essaye sans succès de lier un control Text à un champ d'une table pour en modifier le contenu (et sauvegarder l'info en cliquant sur le bouton). Malheureusement, je dois m'y prendre mal, car ça ne fonctionne pas et je n'ai aucune idée de la raison pour laquelle cela ne marche pas.
Voici mon code :
private OracleDataAdapter odaDataAdapterForm;
private DataTable dtDataTableForm = new DataTable();
public Form1()
{
InitializeComponent();
odaDataAdapterForm = new OracleDataAdapter("SELECT * FROM TB_UTILISATEUR WHERE NOM='SplitForm'", "User ID=xxx;Password=xxx;Data Source=xxx" );
odaDataAdapterForm.Fill(dtDataTableForm);
textBox1.DataBindings.Add("Text", dtDataTableForm, "NOM" );
}
private void button1_Click(object sender, EventArgs e)
{
odaDataAdapterForm.Update(dtDataTableForm);
}
J'ai essayé avec un DataSet et une DataTable, ça ne change rien. Je pensais qu'un simple Update du DataAdapter suffisait !
Message édité par SplitForm le 12-03-2013 à 16:29:07