【发布时间】:2017-06-18 08:21:55
【问题描述】:
我正在使用两个会话变量,我将会话变量分配给另一个变量并显示它从会话变量中正确获取值,但是当我尝试插入 MS Sql Server 数据库时,该值没有插入数据库...有什么想法吗?
以下是我的代码:
Session["selected"] = "apple";
Session["current"] = 1;
string mycategory = Session["selected"].ToString();
int myId = Convert.ToInt32(Session["current"]);
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO [Marking] VALUES (@photoid, @photocategoryjudge, @totalmarks)", con);
cmd.Parameters.Add("@photoid", SqlDbType.Int).Value = myId;
cmd.Parameters.Add("@photocategoryjudge", SqlDbType.VarChar).Value = mycategory;
cmd.Parameters.Add("@totalmarks", SqlDbType.Int).Value = totalMarks;
cmd.ExecuteNonQuery();
con.Close();
【问题讨论】:
-
是否设置了
totalMarks?这是Marking表中的必填字段吗?Marking表中是否还有其他列未使用此INSERT语句设置?明确说明您要插入哪些列可能会更好:INSERT INTO [Marking] (PhotoID, PhotoCategory, TotalMarks) VALUES (... -
是的,totalMarks 也已设置,我尝试 INSERT INTO [Marking] (PhotoID, PhotoCategory, TotalMarks) VALUES (...它仍然没有存储到数据库中...
-
尝试调试以查看插入前存在哪些值
-
如果您尝试直接在服务器(Management Studio)上运行
INSERT,它可以工作吗?我们需要尝试确定这是数据库问题(即 SQL Server 不允许您插入此行的原因)还是代码问题。 -
等等...我认为 INSERT 语句不起作用.. 我不知道为什么,因为以前它在起作用
标签: c# asp.net sql-server database razor