【发布时间】:2013-12-22 05:19:58
【问题描述】:
我正在尝试通过使用 on select 命令来选择电影,一旦选择就在标签中打印标题.. 效果很好。
下一部分是选定的电影将在单击按钮时从数据库库存中减 1。这就是我认为我感到困惑的地方,在单击按钮之前它不会显示任何错误。
更新查询的 C# 代码
protected void Button2_Click(object sender, EventArgs e)
{
var myquery = string.Format("UPDATE DVD SET Stock = Stock - 1");
da.InsertCommand = new OleDbCommand("INSERT INTO DVD (Stock) VALUES (@MessageLabel)", conn);
{
da.InsertCommand.Parameters.AddWithValue("@Stock", MessageLabel.Text);
conn.Open();
da.InsertCommand.ExecuteNonQuery();
using (OleDbCommand cmd = new OleDbCommand(myquery, conn))
cmd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
}
}
选择事件的先前代码
public void Latest_DVD()
{
{
using (OleDbDataAdapter dataquer = new OleDbDataAdapter("SELECT Title,Category,Director,Stock,Year FROM DVD ", conn))
{
dataquer.Fill(dt);
}
}
DG_Latest.ShowHeader = true;
DG_Latest.DataSource = dt;
DG_Latest.DataBind();
conn.Close();
conn.Dispose();
}
protected void Latest_DVD_SelectedIndexChanged(Object sender, EventArgs e)
{
GridViewRow row = DG_Latest.SelectedRow;
MessageLabel.Text = "You selected to rent " + row.Cells[1].Text + ".";
}
所以我认为我的查询错误,可能也无法从标签中检索更新,但也许 on 选择了它自己...我不确定。
它显示的错误是
Data type mismatch in criteria expression.
连接打开后
【问题讨论】:
-
您不认为告诉我们错误是什么会有帮助吗?
-
当然是您的权利,它显示标准表达式中的数据类型不匹配。在 da.InsertCommand.ExecuteNonQuery() 上;我整理一下我的问题
-
您确定要在 Stock 列中插入“您选择租借电影 A”吗?
-
那是我不确定的,我需要点击按钮将库存减少一个。
标签: c# asp.net sql visual-studio-2012 insert-update