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

本文关键字:服务 数据库 于服务 INTO 不适用 适用于 INSERT | 更新日期: 2023-09-27 17:58:01

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

我使用.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();
            }
        } 

我还试着调试了几个小时。

我有另一个做Select查询的语句,它可以工作,所以我确信我的连接字符串

我也试过这个

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();
        }  

这3个都不起作用。

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

有人知道我该怎么解决吗?

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

通常,当您像这样构造语句时,在没有指定字段的情况下,错误来自于字段顺序错误或跳过字段。

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

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

用实际字段名替换fldx