Maison > base de données > tutoriel mysql > Pourquoi ma requête MySQL fonctionne-t-elle dans phpMyAdmin mais échoue-t-elle dans .NET et comment puis-je y remédier ?

Pourquoi ma requête MySQL fonctionne-t-elle dans phpMyAdmin mais échoue-t-elle dans .NET et comment puis-je y remédier ?

Patricia Arquette
Libérer: 2024-11-29 01:26:10
original
178 Les gens l'ont consulté

Why Does My MySQL Query Work in phpMyAdmin but Fail in .NET, and How Can I Fix It?

Comment utiliser les variables définies par l'utilisateur MySQL dans .NET MySqlCommand

Problème

Les utilisateurs rencontrent des difficultés à exécuter une requête dans .NET à l'aide de MySqlAdapter qui s'exécute avec succès dans phpMyAdmin en raison de l'inclusion de @rownum. Cette variable système est confondue avec un paramètre et génère une exception car elle n'est pas définie.

Solution

Pour résoudre ce problème, suivez ces étapes :

  1. Mettre à jour la chaîne de connexion : ajoutez ";Autoriser les variables utilisateur = True" à la connexion string.
  2. Gérer les écarts de résultats : Notez que le comptage des résultats dans .NET peut différer de celui de phpMyAdmin. Dans .NET, le comptage commence à 0, tandis que phpMyAdmin commence à 1.

Exemple

using (var sqlConnection = new MySqlConnection(SOURCE_CONNECTION + ";Allow User Variables=True"))
{
    sqlConnection.Open();

    MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(SqlStatement, sqlConnection);

    DataTable table = new DataTable();
    sqlAdapter.Fill(table);
    sqlConnection.Close();

    return table;
}
Copier après la connexion

Conseils supplémentaires

Pour des méthodes alternatives d'obtention des numéros de ligne , envisagez les options suivantes :

  • Ajouter un ID de ligne Colonne : ajoutez une colonne à la table de la base de données pour stocker les ID séquentiels.
  • Utilisez une table temporaire : créez une table temporaire qui comprend une colonne de numéro de ligne et joignez-la à votre table d'origine table.
  • Utiliser une méthode d'assistance : Écrivez une méthode d'assistance personnalisée qui génère des numéros de ligne en fonction de la ligne données.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal