Français Solved Erreur lors de l'exécution d'une requête SQL

  • Auteur de la discussion Auteur de la discussion R404
  • Date de début Date de début

R404

User
14/10/21
75
3
7
450
Bonjour tout le monde j'ai un petit soucis avec un de mes scripts, je fait une requête DB qui me retourne une erreur si quelqu'un aurait une idée du soucis

La requête DB :
Code:
_queryCardSelect = format["SELECT nom, prenom, naissance, lieu_naissance, genre, city, nationalite, insert_time FROM identity WHERE pid=""%1""",_pid];
_queryResultCard = [_queryCardSelect,2] call DB_fnc_asyncCall;

Et l'erreur retourner par le diag_log _queryResultCard :
Code:
 9:37:42   Error Undefined variable in expression: _queryresultcard
 9:37:42 File mpmissions\terra_nova.Aka_Map_Ile_De_Groix\r404\identity\functions\fn_showIdentityCard.sqf..., line 14
 9:50:56 Error in expression <�te','Jean','11/11/1948',Paris,Homme,Le Bourg,Français,[2023,07,20]]]]>
 9:50:56   Error position: <Bourg,Français,[2023,07,20]]]]>
 9:50:56   Error Missing ]
 9:50:56 Error in expression <�te','Jean','11/11/1948',Paris,Homme,Le Bourg,Français,[2023,07,20]]]]>
 9:50:56   Error position: <Bourg,Français,[2023,07,20]]]]>
 9:50:56   Error Missing ]
 9:50:56 Error in expression <esult = call compile _queryResult;
if ((_queryResult select 0) isEqualTo 0) exit>
 9:50:56   Error position: <_queryResult select 0) isEqualTo 0) exit>
 9:50:56   Error Undefined variable in expression: _queryresult
 9:50:56 File life_server\Functions\MySQL\fn_asyncCall.sqf..., line 48
 9:50:56 Error in expression <t,2] call DB_fnc_asyncCall;

if ((count _queryResultCard) > 0) exitWith {
_new =>
 9:50:56   Error position: <_queryResultCard) > 0) exitWith {
_new =>
 9:50:56   Error Undefined variable in expression: _queryresultcard
 9:50:56 File mpmissions\terra_nova.Aka_Map_Ile_De_Groix\r404\identity\functions\fn_showIdentityCard.sqf..., line 14

Merci d'avance 😉

Posté par r404 via discord.
 
Solution
Hello,

Tu as les typages des colonnes de ta table ?

- Dans le cas de colonne typé "VARCHAR", les guillemets ne sont pas requise, mais tu dois définir un nombre max de caractère.

- Dans le cas de colonne typé "TEXT", il faudra soit ajouter des guillemets dans tes entrées, soit caster en VARCHAR ton entrée pour ne pas utiliser de guillemets.



Dans le cas de ta table identité, vu le nom des colonnes, le mieux (je pense) serait d'y passer en VARCHAR et de mettre une limite de caractère dans la saisie de l'utilisateur sur le formulaire qu'il remplit.

Cdlt,
Hello,

Tu as les typages des colonnes de ta table ?

- Dans le cas de colonne typé "VARCHAR", les guillemets ne sont pas requise, mais tu dois définir un nombre max de caractère.

- Dans le cas de colonne typé "TEXT", il faudra soit ajouter des guillemets dans tes entrées, soit caster en VARCHAR ton entrée pour ne pas utiliser de guillemets.



Dans le cas de ta table identité, vu le nom des colonnes, le mieux (je pense) serait d'y passer en VARCHAR et de mettre une limite de caractère dans la saisie de l'utilisateur sur le formulaire qu'il remplit.

Cdlt,
 
Solution
Hello,

Tu as les typages des colonnes de ta table ?

- Dans le cas de colonne typé "VARCHAR", les guillemets ne sont pas requise, mais tu dois définir un nombre max de caractère.

- Dans le cas de colonne typé "TEXT", il faudra soit ajouter des guillemets dans tes entrées, soit caster en VARCHAR ton entrée pour ne pas utiliser de guillemets.



Dans le cas de ta table identité, vu le nom des colonnes, le mieux (je pense) serait d'y passer en VARCHAR et de mettre une limite de caractère dans la saisie de l'utilisateur sur le formulaire qu'il remplit.

Cdlt,
Salut,
effectivement je n'avais pas fait attention au typages de mes colonnes certaines était en VARCHAR et d'autres en TEXT une fois que je les est passé en type VARCHAR cela fonctionne parfaitement.

Merci beaucoup de ton aide ;)