Comment lier des paramètres via ODBC C#?
J'ai besoin de lier des paramètres sur requête ODBC à partir de C#. C'est l'exemple de code, mais VS me dit qu'il y a un paramètre manquant.
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM user WHERE id = @id";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();
Quelle est la syntaxe pour lier des valeurs sur ODBC?
Quel est le message d'erreur exact?
ERREUR [07002] [Microsoft][Pilote ODBC Microsoft Access] Paramètres insufficienti. Previsto 1. Que l'erreur de dire qu'un paramètre est manquant.
ODBC ne prend pas en charge les paramètres nommés; msdn.microsoft.com/en-us/library/... il utilise ordinale
ERREUR [07002] [Microsoft][Pilote ODBC Microsoft Access] Paramètres insufficienti. Previsto 1. Que l'erreur de dire qu'un paramètre est manquant.
ODBC ne prend pas en charge les paramètres nommés; msdn.microsoft.com/en-us/library/... il utilise ordinale
?
espaces réservés - si votre utilisation de l'Accès est-il une raison pour l'utilisation d'ODBC plutôt que OLEDB (ce qui leur permettra)?OriginalL'auteur pava91 | 2013-08-06
Vous devez vous connecter pour publier un commentaire.
Odbc ne peut pas utiliser des paramètres nommés. Cela signifie que la chaîne de commande utilise des espaces réservés pour chaque paramètre et cet espace réservé est un unique point d'interrogation, pas le nom du paramètre.
OdbcCommand.Paramètres
Ensuite, vous devez ajouter les paramètres de la collection dans le même ordre dans lequel ils apparaissent dans la chaîne de commande
Vous avez aussi un autre problème, l'UTILISATEUR mot est un mot clé réservé par MS Accès Base de données et si vous voulez l'utiliser comme champ nom de la table ou alors il est nécessaire de joindre chaque référence avec des crochets. Je suggère fortement, si c'est possible, de changer de nom de table parce que vous allez être frappé ce problème très souvent.
la marque de ce que la bonne réponse alors...
c'est honteux !! comment suis-je censé écrire portable code de base de données ?
OriginalL'auteur Steve
utilisation
"?"
en place de@
si vous utilisez ODBC.Essayer de faire comme suit:
OriginalL'auteur C Sharper