SqlCommand INSERT 查询不向数据库中插入数据
Posted
技术标签:
【中文标题】SqlCommand INSERT 查询不向数据库中插入数据【英文标题】:SqlCommand INSERT query does not insert data into the database 【发布时间】: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?你有什么异常吗?,你没有关闭你必须的连接。 SqlCommand INSERT INTO query does not execute的可能重复 @Adil 这是我的愚蠢错误,没有编写 cmd.ExecuteNonquery ,想了好几个小时,最后堆栈溢出帮助了!。感谢您的帮助! 【参考方案1】:您忘记执行查询:
cmd.ExecuteNonQuery();
工作完成后关闭连接也比较好:
conn.Close();
【讨论】:
【参考方案2】:您必须运行 cmd 的 ExecuteNonQuery() 方法才能使其工作,但最好将连接和命令都包装到 using 语句中,以便它们将被释放(连接也应显式关闭)
【讨论】:
以上是关于SqlCommand INSERT 查询不向数据库中插入数据的主要内容,如果未能解决你的问题,请参考以下文章
SqlCommand和SqlDataAdapter有什么区别
IDENTITY_INSERT ON不被实体框架DBSet.Add方法所尊重
access 数据库 DBHelper 执行查询的命令用啥 我只知道 sqlserver 用 sqlcommand