C# SQL 插入未出现在数据库表中“未引发错误或异常”

本文关键字:错误 异常 插入 SQL 数据库 | 更新日期: 2023-09-27 18:31:56

我一直在试图弄清楚为什么我的插入没有出现在我的数据库表中。 我已经多次完成,我没有看到错误,也没有例外。我是使用数据库的新手,所以也许我可以看到一些东西,任何帮助将不胜感激。谢谢

using(SqlCommand cmd = new SqlCommand("INSERT INTO [dbo].[EmployeeInfo] 
(Id, name, password) VALUES (@Id, @name, @password)", connection)) {
     cmd.CommandType = CommandType.Text;
     cmd.Parameters.AddWithValue("@Id", Id++);
     cmd.Parameters.AddWithValue("@name", name);
     cmd.Parameters.AddWithValue("@password", password);
     try {
       connection.Open();
       //rows effected
       int i = cmd.ExecuteNonQuery();
       MessageBox.Show("User saved");
     } catch (SqlException ex) {
       MessageBox.Show(ex.Message, ex.GetType().ToString());
     } finally {
       nameBox.Clear();
       passwordBox.Clear();
       connection.Close();
     }
}

这是我来自配置文件的连接字符串

<connectionStrings> 
   <add name="SBPA.Properties.Settings.EmployeeLoginConnectionString" 
        connectionString="Data Source=(LocalDB)'v11.0;AttachDbFilename=|DataDirectory|'EmployeeLogin.mdf;Integrated Security=True" 
        providerName="System.Data.SqlClient" /> 
</connectionStrings>

C# SQL 插入未出现在数据库表中“未引发错误或异常”

干草伙计们感谢大家的回复 几个小时后,我终于发现我的代码没有任何问题。正在更新的数据库是 bin/debug 文件夹中的数据库,而不是我在解决方案中引用的数据库。我没有意识到在处理项目时所做的所有更改都是对调试文件夹中的副本完成的。

你能检查这两件事吗:

  1. 你得到i的价值是多少int i = cmd.ExecuteNonQuery() . 如果这是 1,那么:
  2. 您是否在看到插入的记录时指的是正确的文件.mdf?因为您引用了附加数据库文件的连接字符串。

所以我遇到了同样的问题,结果我有一个错字,Sql 语句很长,所以我不容易检测到它,但是在 bin 目录中的文本文件记录了错误,所以我可以很容易地找出在哪里更正 txt 文件中记录的 Bin 文件夹错误