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 :
-
Mettre à jour la chaîne de connexion : ajoutez ";Autoriser les variables utilisateur = True" à la connexion string.
-
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!