INSERT INTO不使用基于服务的数据库

时间:2014-04-11 19:00:52

标签: c# sql

我不确定具体是什么问题,但我无法在我的数据库中插入。

我使用.mdf或基于服务的数据库,所以我认为它可能与此有关

这是我用于插入的代码。我在服务器资源管理器查询中尝试了查询,它是100%正常工作

        using (SqlConnection con = new SqlConnection(Db.ConnectionString))
        {
            con.Open();
            using (SqlCommand cmd = new SqlCommand("Insert INTO Account Values('User','Password','Department')", con))
            {
                cmd.ExecuteNonQuery();
            }
        } 

我也试过几个小时的调试。

我有另一个声明,它执行选择查询,它可以工作,所以我确信我的连接字符串

我也试过这个

using (var cn = new SqlConnection(Db.ConnectionString))
        using (var cmd = new SqlCommand("Insert INTO Account Values('User','Password','Department')", cn))
        {
            cmd.CommandText = "Insert INTO Account Values('User','Password','Department')";
            cn.Open();
            cmd.ExecuteNonQuery();
            cn.Close();
        }  

所有这三个都不起作用。

编辑: 我发现了问题,我刚刚意识到打开项目文件夹的时候。 我的Select Statement正在我的项目文件夹中查看我的.mbf 而insert语句进入Project / Bin / Debug文件夹,这非常奇怪,因为它们具有相同的连接字符串。

有人知道我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

通常在构造这样的语句时,如果不指定字段,则错误来自字段顺序错误或者您正在跳过字段。

最佳做法是指定字段和值,如下所示:

Insert INTO Account (fld1,fld2,fld3) Values('User','Password','Department')

将fldx替换为实际的字段名称