2013-04-03 4 views
0

J'essaie d'insérer des données dans une base de données en utilisant la base de données basée sur les services J'utilise Visual Studio 2010. J'ai créé la table mais cela ne fonctionne pas ici mon code: apprécier si vous avez une suggestion de code comment insérer dans une base de données.Insertion de données dans une base de données Visual Studio

public void AddAnimal(int animalID, string name, double age, string category, string gender, string extraAnimalInfo) 
    { 
     using (SqlConnection con = new SqlConnection(DBAccessLayer.Properties.Settings.Default.AnimalDBConnectionString)) 
     { 
      con.Open(); 
      try 
      { 
       using (SqlCommand command = new SqlCommand("INSERT INTO AnimalTable VALUES(@AnimalID, @Name, @Age, @Category, @Gender, @ExtraAnimalInfo)", con)) 
       { 
        Console.WriteLine("Here 4"); 
        command.Parameters.Add(new SqlParameter("AnimalID", animalID)); 
        command.Parameters.Add(new SqlParameter("Name", name)); 
        command.Parameters.Add(new SqlParameter("Age", age)); 
        command.Parameters.Add(new SqlParameter("Category", category)); 
        command.Parameters.Add(new SqlParameter("Gender", gender)); 
        command.Parameters.Add(new SqlParameter("ExtraAnimalInfo", extraAnimalInfo)); 
        command.ExecuteNonQuery(); 
       } 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine("Could not insert."); 
      } 
     } 

Update1: Lorsque j'insère les données dans la base de données les lignes sont affectées, mais quand j'ouvre la table de base de données à partir du rien Explorateur de serveurs ont changé.


Lorsque j'insère les données dans la base de données les lignes sont affectées, mais quand j'ouvre la table de base de données de l'Explorateur de serveur je ne vois pas de changement.

+0

Définir "ne fonctionne pas". Lève une exception? Quelle exception? Quel message est associé à cette exception? –

+0

Selon ce qu'Eric J. dit, changez votre 'Console.WriteLine (" Impossible d'insérer. ");' 'Console.WriteLine (" Impossible d'insérer: "+ ex);' et vous obtiendrez des informations utiles vous ou nous pouvons utiliser pour diagnostiquer ce qui se passe. –

+0

Lorsque j'insère les données dans la base de données, les lignes sont affectées mais lorsque j'ouvre la table de base de données à partir de l'Explorateur de serveurs, rien n'a changé. – EM10

Répondre

0

Une commande d'insertion sql requiert les noms de colonne avant le mot clé values.

INSERT INTO AnimalTable (AnimalID, nom, âge, catégorie, genre, ExtraAniamlInfo) VALUES (@AnimalID, @name, @Age, @Category, @Gender, @ExtraAnimalInfo)

+1

ce n'est pas obligatoire si vous spécifiez chaque colonne et dans le même ordre que celui qui apparaît dans la table. Au moins pour Oracle et d'autres –

+0

Même est vrai pour SQL Server –

1

moi avons eu un problème similaire. Pour moi, c'était la chaîne de connexion. À l'origine j'avais

"Source de données =. \ SQLEXPRESS; AttachDbFilename =" + "| DataDirectory | pr.mdf;" + "Sécurité intégrée = Vrai, instance d'utilisateur = Vrai";

Lorsque j'ai remplacé | DataDirectory | avec le chemin d'accès complet à la base de données (cliquez avec le bouton droit sur la base de données dans la solution explorer, cliquez sur propriétés, puis utilisez le chemin d'accès complet). Ça a marché. Il semble qu'il y ait plusieurs copies de DB différentes ... c'est-à-dire. il y en a une copie dans le dossier \ bin \ Debug \.

+0

Je suis venu ici de google la recherche de la même solution. Cela a résolu mon problème. Merci – YourFriend

Questions connexes