SQLDataSource

Signaler
Messages postés
15
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
3 octobre 2006
-
Messages postés
15
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
3 octobre 2006
-
Salut à tous!

Bon, je vais essayer d'être le plus clair possible. Ayant remarqué que l'objet ViewForm était relativement capricieux avec le Databouding, je me suis apperçu que le meilleur moyen de le faire fonctionner correctement était d'utiliser un SqlDataSource. Jusque là, pas de soucis, c'est normal vu qu'il doit bien aller chercher les données pour les afficher. Ma question est la suivante:

Comment utiliser l'objet SqlDataSource, NON pas dans la page ASP, mais dans le code CS ? Voici un bout de mon code.

SqlDataSource

sqlds;

sqlds =

newSqlDataSource();sqlds.DataSourceMode SqlDataSourceMode.DataSet;sqlds.ID

"detailpersonnes";sqlds.ConnectionString = System.Configuration.

ConfigurationManager.ConnectionStrings["tutelleDB"].ConnectionString;sqlds.SelectCommand "SELECT PER_ID, COM_ID, PER_TITRE, PER_NOM, PER_PRENOM, PER_ADRESSE, COM_LIBELLE, PER_SEXE, PER_NAISSANCE, PER_ORIGINE, PER_ETAT_CIVIL, PER_REMARQUES FROM V_TUT_RECHERCHE_PERSONNES WHERE (PER_ID :PER_ID)";sqlds.SelectParameters.Add(

"PER_ID", per_id.ToString());
fvwDetailPersonne.DataSourceID = sqlds.ID;

Le système me retourne un erreur comme quoi l'interface IDataSource n'est pas correctement utilisée... bref, ça bug et c'est chiant!

Qui peut m'aider? Inutile de me demander pourquoi je fais comme cela et pas autrement c'est un choix donc voilà!

Merci d'avance.

A+

Juan

6 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Salut,

Il te retourne cette erreur à la compilation ou à l'exécution ?
ça pourrait nous être également utile de savoir quelle ligne exactement te renvoie cette erreur, ainsi que le contenu exact de la description de l'erreur.

A++

<hr width="100%" size="2" />Nurgle (Antoine)
Messages postés
15
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
3 octobre 2006

Yep,

Voilà le message :

 


Server Error in '/' Application.
<hr width="100%" color="silver" size="1" />


The DataSourceID of 'FormView1' must be the ID of a control of type IDataSource.  A control with ID 'test' could not be found.




Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: The DataSourceID of 'FormView1' must be the ID of a control of type IDataSource.  A control with ID 'test' could not be found.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:

[HttpException (0x80004005): The DataSourceID of 'FormView1' must be the ID of a control of type IDataSource.  A control with ID 'test' could not be found.]
System.Web.UI.WebControls.DataBoundControl.GetDataSource() +278
System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView() +150
System.Web.UI.WebControls.DataBoundControl.OnLoad(EventArgs e) +36
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +158
System.Web.UI.Control.LoadRecursive() +158
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3034

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Le message est relativement clair : il te suffit de supprimer le datasourceID que tu as mis dans ta balise formview

dans ta page tu dois avoir Cyril - MVS - MCP
Messages postés
15
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
3 octobre 2006

Yep,

Merci pour l'info! Maintenant, il me fait un message d'erreur suivant: Additional information: Keyword not supported: 'unicode'.

Voici le code c#

 SqlDataSource

sqlds =
new
SqlDataSource();

sqlds.ConnectionString = System.Configuration.
ConfigurationManager.ConnectionStrings["tutelleDB"].ConnectionString;sqlds.SelectCommand "SELECT PER_ID, COM_ID, PER_TITRE, PER_NOM, PER_PRENOM, PER_ADRESSE, COM_LIBELLE, PER_SEXE, PER_NAISSANCE, PER_ORIGINE, PER_ETAT_CIVIL, PER_REMARQUES FROM V_TUT_RECHERCHE_PERSONNES WHERE (PER_ID 9)";
FormView1.DataSource = sqlds;

FormView1.DataBind();

Y a un truc qui cloche?

Merci

A+
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
quelle est le message d'erreur exacte et ou se produit il ? quelle est ta connectionString ?

<hr />Cyril - MVS - MCP
Messages postés
15
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
3 octobre 2006

Yep,


Voici ce qu'il me retourne:

An exception of type 'System.ArgumentException' occurred in System.Data.dll but was not handled in user code


Additional information: Keyword not supported: 'unicode'.

Ce message s'affiche dans une fenêtre style "alert".

Concernant mon connection string, ça joue, je l'ai testé avec une grid classique et ça marche.