c# - C# SQL 插入疑难解答
问题描述
直到几个小时前,这段代码和类似的代码都运行良好。我删除并重新创建了数据库以更改时间戳数据类型,因此它将显示为记录更新的时间。现在好了,我已经current_timestamp
修好了。
这是我对数据库所做的唯一更改,否则它是 VS2017 中相同的服务器、相同的数据库名称、相同的连接字符串。几天前我什至更换了服务器,但没有出现任何问题,但由于某种原因,这段代码在我放弃后一直不起作用。
谁能建议为什么?代码最初是否有缺陷?
protected void BtnSubmitPost_ServerClick(object sender, EventArgs e)
{
string bpTitle = txtBlogHeader.Text;
string bpBody = txtBlogBody.Text;
using (SqlConnection addBlogConn = new SqlConnection(ConfigurationManager.ConnectionStrings["childrens"].ConnectionString))
{
using (SqlCommand addBlogCmd = new SqlCommand())
{
try
{
addBlogCmd.CommandType = CommandType.Text;
addBlogCmd.CommandText = "INSERT INTO blogPosts (bp_header, bp_body) VALUES (@bpTitle, @bpBody)";
addBlogCmd.Parameters.Add("@bpTitle", SqlDbType.VarChar).Value = bpTitle;
addBlogCmd.Parameters.Add("@bpBody", SqlDbType.VarChar).Value = bpBody;
addBlogCmd.Connection = addBlogConn;
addBlogConn.Open();
lblBhError.Visible = false;
//lblStaffConfirm.Visible = true;
lvBlogs.DataBind();
addBlogConn.Close();
}
catch
{
Response.Redirect("/staff.aspx");
}
}
}
}
解决方案
好吧,我根本看不到您正在执行命令,因为语句addBlogCmd
之后没有任何内容。addBlogConn.Open();
此外,我也没有看到您通过数据适配器/数据集使用断开连接的架构。所以可能这解释了这个问题。
本质上,您缺少addBlogCmd.ExecuteNonQuery()
执行您准备的命令的语句
推荐阅读
- visual-studio-2015 - Visual Studio 2017 的全新安装缺少 F# 的部分
- typescript - mat-grid-list with a mat-card and mat-card-actions/mat-card-footer
- python - 如何修复这个 sqlite3.OperationalError / sql 语法错误?
- python - 使用 Python 2.7 向 Excel 单元格添加注释
- maven - Maven/Docker:缓存所有依赖项
- javascript - javascript setInterval 详细工作原理
- ansible - 如何在单独的 ansible 项目之间共享 Vault
- php - 上传文件中的异常
- windows - 页面控制的 Windows 系统颜色
- testing - Allure2 如何将其与 Jira Xray 集成