Probleme SQL SELECT

clement1086 Messages postés 3 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 17 août 2006 - 10 août 2006 à 12:58
clement1086 Messages postés 3 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 17 août 2006 - 11 août 2006 à 10:23
J'ai un petit probleme avec ma base de donnees...
J'arrive sans probleme a ecrire dans la base et a recuperer la base dans un xml avec ce code :
Protected

Sub _Submit_Click(ByVal sender AsObject, ByVal e As System.EventArgs)
Dim SQL AsString

SQL = "SELECT * FROM Table1 FOR XML AUTO,XMLDATA"

Dim ConnStr AsString

ConnStr = "Data Source=.\SQLEXPRESS;AttachDbFilename=""C:\Documents and Settings\gb51348\My Documents\Visual Studio 2005\WebSites\WebSite3\App_Data\db.mdf"";Integrated Security=True;Connect Timeout=30;User Instance=True"

Dim mySqlConn AsNew SqlConnection(ConnStr)

mySqlConn.Open()

Dim mySqlCmd AsNew SqlCommand(SQL, mySqlConn)

Dim myDS AsNew DataSet

myDS.ReadXml(mySqlCmd.ExecuteXmlReader, XmlReadMode.Fragment)

XmlDisplay.DocumentContent = myDS.GetXml

mySqlConn.Close()

EndSub

Mais des que je modifie les arguments de la requete SQL Select, cela genere une erreur...

(
SQL = "SELECT * FROM Table1 WHERE Category='Material Query' FOR XML AUTO,XMLDATA"
)

The data types text and varchar are incompatible in the equal to operator.

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.Data.SqlClient.SqlException: The data types text and varchar are incompatible in the equal to operator.

2 réponses

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
10 août 2006 à 20:21
Category ne serait pas de type text par hazard ?


Le mieux si c'est le cas serait de le passer en varchar(max) ou un varchar(xxx) où xxx est compris entre 1 et 8000, c'est à dire la longueur maxi de la chaîne.
Vu l'exemple, la chaîne n'a pas l'air d'être très longue, donc un vachar(100) oar exemple serait très bien pour ce champ dans la table.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
0
clement1086 Messages postés 3 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 17 août 2006
11 août 2006 à 10:23
Merci beaucoup. L'erreur venait bien de la, j'ai change les types en text en varchar et tout fonctionne parfaitement.
0
Rejoignez-nous