0

我正在尝试使用基于服务的数据库将数据插入数据库我正在使用 Visual Studio 2010。我已经创建了表,但它在这里不起作用是我的代码:如果您对如何插入代码有建议,我将不胜感激一个数据库。

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: 当我将数据插入数据库时​​,行会受到影响,但是当我从服务器资源管理器中打开数据库表时,什么都没有改变。


当我将数据插入数据库时​​,行会受到影响,但是当我从服务器资源管理器中打开数据库表时,我看不到任何更改。

4

2 回答 2

1

我有一个类似的问题。对我来说,它是连接字符串。本来我有

"数据源=.\SQLEXPRESS;AttachDbFilename=" + "|DataDirectory|pr.mdf;" +“集成安全=真;用户实例=真”;

当我更换 |DataDirectory| 使用数据库的完整路径(在解决方案探索中右键单击数据库,单击属性,然后使用完整路径)。有效。它看起来好像有几个不同的数据库副本......即在 \bin\Debug\ 文件夹中有它的副本。

于 2014-11-10T14:58:41.783 回答
0

sql 插入命令需要在 values 关键字之前的列名。

插入动物表(AnimalID、姓名、年龄、类别、性别、ExtraAniamlInfo)值(@AnimalID、@Name、@Age、@Category、@Gender、@ExtraAnimalInfo)

于 2013-04-03T16:21:02.467 回答