Méthode de sélection d'une ligne dans une db ?

Signaler
Messages postés
6
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
26 mars 2006
-
Messages postés
58
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
15 novembre 2006
-
Bonjour,
Je débute dans l'ASP.NET, et je cherche une méthode simple pour effectuer une modification d'une seule ligne d'une table de ma DB.
Je fais un select dans ma DB sur l'id, je suis donc certains d'avoir un retour d'une seule ligne.

Je veux charger ces données dans des textbox et dropdownlist, pour pouvoir les modifier, et faire ensuite un insert ou un update de ces données.

J'utilise habituellement des datalist, mais dans ce cas, je trouve que c'est relativement compliqué pour retrouver les control ( mylist.FindControl. ... ), et je n'arrive pas a faire certains choses (remplir une ddl lors du page_load). Je me dis qu'il serait peut être plus simple de ne pas utiliser de structure de répétition comme ça, qui complique la recherche ou la modification des contrôles.

Comment puis je faire simplement ça (datareader?) :
Lecture des données (dans des variables par ex) > Insertion dans des textbox/ddl > accés aux données pour sauvegarde dans db (Name.Text; )

Merci d'avance...

5 réponses

Messages postés
6
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
26 mars 2006

J'ai avancé...

Ma ddl se remplis bien, mais je ne sais pas comment selectionner une valeur par défaut (via la commande SelectedValue).

Voici mon code :

(...)

DataTable GetPays()
{
String IDI=Request.Params[
"id"];

String IDA=Request.Params[
"ida"];
OleDbDataAdapter myCommand3 =
new OleDbDataAdapter(
"SELECT id_Pays, pays FROM v_pays WHERE visible = true", mConnection);
DataSet ds3 =
new DataSet();
myCommand3.Fill(ds3,
"v_pays");

return ds3.Tables[
"v_pays"];
}

(...)


id="MyList"
runat="server"
BorderColor="white"
Width="100%"
OnUpdateCommand="DB">



(...)



'
DataTextField="pays"
DataValueField="id_Pays"
AutoPostBack="false"
runat="server">



Help...
Messages postés
58
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
15 novembre 2006

Bonjour,
En mettant AutoPostBack = true dans les propriété de ta ddl,
Tu pouras ensuite passer dans l'évènement SelectedIndex de ta dll
Puis dans ta méthode tu peus faire un truc du genre :

string id;
id = idpad.SelectedItem.ToString();
Messages postés
6
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
26 mars 2006

Non, je veux initialiser ma ddl a partir d'une db (donc d'une
datasource) et mettre la valeur par défaut telle qu'elle est
actuellement dans la db (c'est en qque sorte une page de modification
de fiche : donc initialiser toutes les champs avec les données
actuelles).

Mais les données étant dans un datagrid, il n'est pas possible de les
initialiser dans le page_load (comme je fais habituellement), ou du
moins, je n'y arrive pas..
Messages postés
58
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
15 novembre 2006

C'est peut être bette mais dans la dataGrid il y .DataSource et dans ta dll aussi.
Essay peut être dll.DataSource = dataGrid.dataSource
Messages postés
58
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
15 novembre 2006

avec un DataBind()