Bonjour à tous, aujourd'hui mon problème est de ramener des données d'une base SQL-SERVER en tant qu'objets pour ensuite en faire une liste sur mon application android.
j'avais fait des tests sur une base PHP MYSQL tout à très bien fonctionné, pour information voici le code:
Seulement ce code ne fonctionne pas avec sql-server, j'ai cette erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $sql="SELECT DISTINCT TOP 5 DC_Title, DC_Creator FROM [SRVERMES_Exploitation].[dbo].[OF_RESSOURCE] WHERE DC_Title LIKE '%".$QUERY."%' "; $rs=$base->query($sql); if (!$rs) { print "PDO::errorInfo():"; $msg = $base->errorInfo(); print $msg[2] . "<br />"; die("Arrêt du traitement"); } while ($row = $rs->fetch(PDO::FETCH_ASSOC)) $output[]=$row; print(json_encode($output));
Fatal error: Call to a member function query() on a non-object in D:\www\essai_webservice_yoann\WebServSearch.php on line 25
j'ai donc cherché des tutos pour les requetes sur la base microsoft, j'ai essayé ceci:
ce qui me donne un résultat comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $req = $sql->requete("SELECT TOP 5 DC_Title, DC_Creator FROM [SRVERMES_Exploitation].[dbo].[OF_RESSOURCE] WHERE DC_Title LIKE '%".$QUERY."%'"); while ($r = $req->fetch()) { print_r($r); }
Array ( [DC_Title] => Essais de sociologie [0] => Essais de sociologie [DC_Creator] => Mauss, Marcel (1872-1950). Auteur [1] => Mauss, Marcel (1872-1950). Auteur ) Array ( [DC_Title] => René Gillouin. Essais de critique littéraire et philosophique : Mme de Noailles, Mme Colette Willy, Maurice Barrès, Charles Demange, Jean Moréas, William James [0] => René Gillouin. Essais de critique littéraire et philosophique : Mme de Noailles, Mme Colette Willy, Maurice Barrès, Charles Demange, Jean Moréas, William James [DC_Creator] => Gillouin, René. Auteur [1] => Gillouin, René. Auteur ) ...etc
j'ai essayé ce code là:
ce qui me retourne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $req = $sql->requete("SELECT TOP 5 DC_Title, DC_Creator FROM [SRVERMES_Exploitation].[dbo].[OF_RESSOURCE] WHERE DC_Title LIKE '%".$QUERY."%'"); while ($r = $req->fetch(PDO::FETCH_OBJ)) { print_r($r); }
stdClass Object ( [DC_Title] => Essais de sociologie [DC_Creator] => Mauss, Marcel (1872-1950). Auteur ) stdClass Object ( [DC_Title] => René Gillouin. Essais de critique littéraire et philosophique : Mme de Noailles, Mme Colette Willy, Maurice Barrès, Charles Demange, Jean Moréas, William James [DC_Creator] => Gillouin, René. Auteur )
Dans les deux cas, j'ai un probleme avec Android ensuite, un message d'erreur de ce type:
"Erreur de parsing :org.json.JSONException: Value stdClass of type java.lang.String cannot be converted to JSONArray"
Voilà ma question:
Comment faire en sorte d'avoir des objet comme retour de requete? OU SINON est ce que je peux quand meme utiliser ce resultat pour en faire une liste dans mon application android? (liste avec TITRE et CREATEUR pour chaque livre)
J'espère que quelqu'un pourra m'aider, mon stage se fini dans une semaine, j'aimerais pouvoir afficher quelques requetes dans l'application avant de partir.
Je vous souhaite à tous une bonne journée
Partager