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 Account (fld1,fld2,fld3) Values('User','Password','Department')
用实际字段名替换fldx