【问题标题】:SqlCommand INSERT query does not insert data into the databaseSqlCommand INSERT 查询不向数据库中插入数据
【发布时间】:2016-08-09 09:28:43
【问题描述】:

我正在处理Visual Studio 2013

在下面的代码中,MessageBox.Show("Connected to database") 显示正确,但是 SQL 查询没有将数据插入到数据库表中。

当我手动插入数据时,它会毫无问题地插入。但不幸的是,数据无法在button_click 命令上插入。

private void DataAdd_Load(object sender, EventArgs e)
{
    try
    {
        conn = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=Pathname;Integrated Security=True;Connect Timeout=30");
        conn.Open();
        MessageBox.Show("Connected to database");
        cmd = new SqlCommand("INSERT INTO datains (name, dob, gender, occupation, height, weight, relation, polexpo) values('abc', '22-Aug-2001', 'Male', 'qwe2', '23', '431', 'qw23e', 'asqwed');", conn);
    }
    catch (Exception e1)
    {
        MessageBox.Show("Connection failed");
    }
}

我在这里做错了什么或我错过了什么?

【问题讨论】:

  • 是否调用了 DataAdd_Load?你有什么异常吗?,你没有关闭你必须的连接。
  • @Adil 这是我的愚蠢错误,没有编写 cmd.ExecuteNonquery ,想了好几个小时,最后堆栈溢出帮助了!。感谢您的帮助!

标签: c# sql .net database sqlcommand


【解决方案1】:

您忘记执行查询:

cmd.ExecuteNonQuery();

工作完成后关闭连接也比较好:

conn.Close();

【讨论】:

    【解决方案2】:

    您必须运行 cmd 的 ExecuteNonQuery() 方法才能使其工作,但最好将连接和命令都包装到 using 语句中,以便它们将被释放(连接也应显式关闭)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      相关资源
      最近更新 更多