【发布时间】:2020-04-21 00:15:55
【问题描述】:
我的问题是,在我的 ASP.NET 应用程序中,仅在应用程序启动时第一次执行从表单中插入数据的数据库。之后,插入也没有完成。
我尝试调试应用程序,并且在调试模式下每次都会插入数据。我还使用了 SQL Server 探查器,除了我第一次在数据库中提交表单时,数据库中没有插入。但是当我在调试模式下运行时,插入完成没有任何问题。
这是来自控制器的方法:
[HttpPost]
public ActionResult Form(Product p)
{
IO.Insert(p);
return RedirectToAction("Index");
}
这是插入的方法:
public static void Insert(Product pr)
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["Database"]))
{
connection.Open();
string s = "INSERT INTO Product (Id, Name, Price, Description, Category, Image) VALUES (@GUID, @Name, @Price, @Description, @Category, @Image)";
using (SqlCommand cmd = new SqlCommand(s, connection))
{
cmd.Parameters.Add("@GUID", SqlDbType.UniqueIdentifier).Value = new Guid();
cmd.Parameters.Add("@Name", SqlDbType.NChar).Value = pr.Name;
cmd.Parameters.Add("@Price", SqlDbType.Int).Value = pr.Price;
cmd.Parameters.Add("@Description", SqlDbType.NVarChar).Value = pr.Description;
cmd.Parameters.Add("@Category", SqlDbType.NVarChar).Value = pr.Description;
cmd.Parameters.Add("@Image", SqlDbType.VarBinary).Value = IO.ImageInsert(pr.Picture);
cmd.BeginExecuteNonQuery();
}
}
}
另外,我没有使用除主线程之外的任何其他线程。
【问题讨论】:
标签: c# asp.net sql-server ado.net