SQLDataSource

cs_cyclotor Messages postés 15 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 3 octobre 2006 - 25 août 2006 à 10:18
cs_cyclotor Messages postés 15 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 3 octobre 2006 - 28 août 2006 à 10:06
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

cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
27 août 2006 à 17:59
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)
0
cs_cyclotor Messages postés 15 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 3 octobre 2006
28 août 2006 à 08:05
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

0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 août 2006 à 09:21
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
0
cs_cyclotor Messages postés 15 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 3 octobre 2006
28 août 2006 à 09:50
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+
0

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

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 août 2006 à 10:02
quelle est le message d'erreur exacte et ou se produit il ? quelle est ta connectionString ?

<hr />Cyril - MVS - MCP
0
cs_cyclotor Messages postés 15 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 3 octobre 2006
28 août 2006 à 10:06
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.
0
Rejoignez-nous