请问关于.net向sql中插入数据ExecuteNonQuery();报异常堆栈的问题是怎么回事

img

代码:
string conStr = "Data Source=DESKTOP-2I8T0VE\SQLEXPRESS;Initial Catalog=SqlDemos;integrated security=true";
//string conStr = ConnectionStringHelper.GetCurrentConnectionString();

        using (SqlConnection conn = new SqlConnection(conStr))
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                conn.Open();
                string strSql = $"insert into SqlDemos UserName, UserAge, UserPwd, DelFlag,CreateDate values {txtUserName.Text},  " +
                    $"{int.Parse(txtAge.Text)},{22},int.Parse{txtPwd1.Text},{1},{DateTime.Now}";
                cmd.CommandText = strSql;
                cmd.ExecuteNonQuery();
            }

        }
        MessageBox.Show("OK");

 

注释掉ExecuteNonQuery();提示插入成功,但数据库内并无该数据

img

img

附上数据库数据类型:

img

请问该如何修改避免堆栈出错且成功插入数据呢?


 string strSql = $"insert into SqlDemos(UserName, UserAge, UserPwd, DelFlag,CreateDate) values ('{txtUserName.Text}',  " +
                    $"{int.Parse(txtAge.Text)},{22},int.Parse{txtPwd1.Text},{1},{DateTime.Now})";

断点调试,查看执行sql,把sql放到数据库查询一遍

  1. 把sql语句直接放到数据库中查询试一下是不是语句语法问题。
  2. 检查在程序里输出sql语句检查格式是否正确,变量值有没有正确传入。