Comment insérer un enregistrement dans un sql server express table de base de données?
J'essaie d'insérer une zone de texte valeur à une table de base de données appelé site_list
.
La site_list
table contient deux colonnes id
et site_name
, id
réglé sur auto incrément
C'est le code que j'essaie et quand exécuter il n'y a pas d'erreur, mais les données ne s'affiche pas dans le tableau
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=.\\SQLExpress;" +
"User Instance=true;" +
"Integrated Security=true;" +
"AttachDbFilename=|DataDirectory|scraper_db.mdf;";
SqlCommand addSite = new SqlCommand("INSERT INTO site_list (site_name) "
+ " VALUES (@site_name)", conn);
addSite.Parameters.Add("@site_name", SqlDbType.NVarChar).Value = textBox1.Text;
conn.Open();
addSite.ExecuteNonQuery();
conn.Close();
Toute aide serait appréciée.
Ce qui concerne
Edit:
Ce code commencé à travailler
string connstring = "Data Source=.\\SQLExpress;"+
"Integrated Security=true;"+
"User Instance=true;"+
"AttachDBFilename=|DataDirectory|scraper_db.mdf;"+
"Initial Catalog=scraper_db";
using (SqlConnection connection = new SqlConnection(connstring))
{
connection.Open();
SqlCommand addSite = new SqlCommand("INSERT INTO site_list (site_name)"+
"VALUES (@site_name)", connection);
addSite.Parameters.AddWithValue("@site_name", textBox1.Text);
addSite.ExecuteNonQuery();
connection.Close();
}
Vous êtes à l'aide de la
merci pour l'information, quelle est la meilleure approche pour faire insert update delete actions avec sql server express?
Enveloppez votre code dans un Try Catch pour commencer.. aussi changer le addSite.Paramètre(.....) pour addSite.Les paramètres.AddWIthValue("@nom_site", textBox1.Texte); Paramètres.Ajoutez a été depricated..
Je serais toujours créer la base de données sur le serveur (par exemple, SQL Server Management Studio Express) et ensuite vous connecter à l'aide de son logique nom de base de données (ne pas jouer avec la physique de la base de données de fichiers .mdf et .ldf - congé que pour le serveur.....)
User Instance / AttachDbFilename=
l'approche que je trouve personnellement assez désordonné et confus à la fois. Avez-vous essayé de vous exécutez le code, mettre un point d'arrêt sur la conn.Close()
et lorsque votre code s'arrête, vérifiez le fichier de base de données dans votre répertoire de données avec, par exemple, SQL Server Mgmt Studio Express?? L'utilisateur instance de choses tend à exemplaire dans les fichiers MDF et donc votre insert peut se passé très bien - mais quand vous le regardez, vous êtes à la recherche à une ancienne version de la base de données (sans les semelles)merci pour l'information, quelle est la meilleure approche pour faire insert update delete actions avec sql server express?
Enveloppez votre code dans un Try Catch pour commencer.. aussi changer le addSite.Paramètre(.....) pour addSite.Les paramètres.AddWIthValue("@nom_site", textBox1.Texte); Paramètres.Ajoutez a été depricated..
Je serais toujours créer la base de données sur le serveur (par exemple, SQL Server Management Studio Express) et ensuite vous connecter à l'aide de son logique nom de base de données (ne pas jouer avec la physique de la base de données de fichiers .mdf et .ldf - congé que pour le serveur.....)
OriginalL'auteur Gihan Lasita | 2012-02-20
Vous devez vous connecter pour publier un commentaire.
que les gens suggère, essayez de créer la base de données sur le serveur (il sera encore plus facile à manipuler à l'aide de Sql Management Studio).
Une fois cela fait, essayez les solutions suivantes (juste testé et il fonctionne):
OriginalL'auteur Giorgio Minardi
OriginalL'auteur ronak
essayez ceci :
Bonne chance
vous n'êtes pas à l'aide de sql params.
OriginalL'auteur SidAhmed
Essayez de stocker votre zone de texte valeur dans une variable. Comme dans:
(IMPORTANT! le @ en @stringname n'est pas nécessaire, mais vous protège contre les pirates!)
Ce code a fait des merveilles pour moi.
OriginalL'auteur Herold van de Ven
Mes excuses. La réponse que j'ai donné précédemment ne fonctionne pas car le nom de la variable utilisée dans la commande insert (dans votre cas, @nom_site) doit correspondre à l'variables utilisées dans votre sqlcommand. Comme dans:
Désolé pour la confusion, je pourrait avoir causé.
OriginalL'auteur Herold van de Ven