Requête d'insertion SQL à l'aide de C #
Je vais avoir un problème au moment où je suis en train de corriger. J'ai juste essayé d'accéder à une base de données et insérer des valeurs à l'aide de C#
Choses que j'ai essayé (travaillé)
String query = "INSERT INTO dbo.SMS_PW (id,username,password,email) VALUES ('abc', 'abc', 'abc', 'abc')";
Une nouvelle ligne est insérée et tout a bien fonctionné, maintenant, j'ai essayé d'insérer une ligne à l'aide de variables:
String query = "INSERT INTO dbo.SMS_PW (id,username,password,email) VALUES (@id, @username, @password, @email)";
command.Parameters.AddWithValue("@id","abc")
command.Parameters.AddWithValue("@username","abc")
command.Parameters.AddWithValue("@password","abc")
command.Parameters.AddWithValue("@email","abc")
command.ExecuteNonQuery();
N'ai pas de travail, pas de valeurs ont été insérés. J'ai essayé une chose de plus
command.Parameters.AddWithValue("@id", SqlDbType.NChar);
command.Parameters["@id"].Value = "abc";
command.Parameters.AddWithValue("@username", SqlDbType.NChar);
command.Parameters["@username"].Value = "abc";
command.Parameters.AddWithValue("@password", SqlDbType.NChar);
command.Parameters["@password"].Value = "abc";
command.Parameters.AddWithValue("@email", SqlDbType.NChar);
command.Parameters["@email"].Value = "abc";
command.ExecuteNonQuery();
Peut quelqu'un me dire ce que je fais de mal?
Salutations
EDIT:
dans une autre ligne, j'ai été la création d'un nouveau SQL-Commande
var cmd = new SqlCommand(query, connection);
Toujours pas de travail et je ne peux pas trouver quelque chose de mal dans le code ci-dessus.
source d'informationauteur voskart
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous avez une connexion à votre base de données et vous ne pouvez pas faire l'insérer des paramètres à l'aide de c #.
Vous n'êtes pas en ajoutant les paramètres de votre requête. Il devrait ressembler à:
Mise à jour:
Essayer
L'erreur la plus commune (en particulier lors de l'utilisation de l'express) à la rubrique "mon insert n'est pas arrivé" est : à la recherche dans le mauvais fichier.
Si vous utilisez le fichier de la base de express (plutôt que fortement attaché), puis le fichier dans le dossier de votre projet (par exemple,
c:\dev\myproject\mydb.mbd
) est pas le fichier qui est utilisé dans votre programme. Lorsque vous générez, ce fichier est copié - par exemple àc:\dev\myproject\bin\debug\mydb.mbd
; votre programme s'exécute dans le contexte dec:\dev\myproject\bin\debug\
et il est donc ici que vous avez besoin de regarder pour voir si la modifier s'est réellement passé. De vérifier pour assurer: la requête pour les données à l'intérieur de l'application (après l'insertion).J'ai juste écrit une réutilisables méthode, il n'y a pas de réponse ici, avec réutilisables méthode alors pourquoi ne pas partager...
voici le code de mon projet actuel: