Maison >base de données >tutoriel mysql >.NET MySqlCommand peut-il utiliser les variables MySQL définies par l'utilisateur ?

.NET MySqlCommand peut-il utiliser les variables MySQL définies par l'utilisateur ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-29 22:45:15398parcourir

Can .NET MySqlCommand Use MySQL User-Defined Variables?

.NET MySqlCommand peut-il exploiter les variables définies par l'utilisateur MySQL ?

L'exécution d'une requête MySQL dans .NET à l'aide de MySqlAdapter peut poser des problèmes si la requête utilise variables définies par l'utilisateur.

Requête spécifique Tentative :

L'instruction SQL suivante tente d'attribuer des numéros de ligne à des lignes distinctes :

SELECT @rownum := @rownum +1 rownum, t . *
FROM (
  SELECT @rownum :=0
) r, (
  SELECT DISTINCT
    TYPE FROM `node`
  WHERE TYPE NOT IN ('ad', 'chatroom')
)t     

Exception rencontrée :

Lorsque cette requête est exécutée dans .NET, une exception se produit car la variable @rownum est interprétée comme un paramètre, ce qui nécessite une requête explicite. définition.

Solution :

Pour résoudre ce problème, il est nécessaire de préciser que les variables utilisateur sont autorisées dans la chaîne de connexion. Ceci peut être réalisé en ajoutant le paramètre suivant :

;Allow User Variables=True

Chaîne de connexion mise à jour :

sqlConnection.ConnectionString = "Data Source=localhost;Initial Catalog=myDb;Username=myUser;Password=myPwd;Allow User Variables=True";

Informations supplémentaires :

Cette solution est compatible avec les versions plus récentes du connecteur .NET pour MySQL. Pour plus de détails, reportez-vous à ce blog : [Comment utiliser les variables définies par l'utilisateur dans .NET avec MySQL] (blog lié).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn