Asp.net 使用会话将列值插入数据库
我想在来自会话变量的表中插入一个值。我编写的代码是:Asp.net 使用会话将列值插入数据库,asp.net,sql-server,sqlcommand,Asp.net,Sql Server,Sqlcommand,我想在来自会话变量的表中插入一个值。我编写的代码是: protected void Button1_Click(object sender, EventArgs e) { double balance; double reward; if((double.TryParse(lblBalance.Text, out balance) && (double.TryParse(lblReward.Text, out reward)))) {
protected void Button1_Click(object sender, EventArgs e)
{
double balance;
double reward;
if((double.TryParse(lblBalance.Text, out balance) && (double.TryParse(lblReward.Text, out reward))))
{
Session["FinalBalance"] = balance + reward;
}
else
{
// some kind of error handling
}
string CS = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
con.Open();
SqlCommand cmd = new SqlCommand("Insert into tblRegister('Balance') values('@FinalBalance')", con);
cmd.Parameters.AddWithValue("@FinalBalance", Session["FinalBalance"].ToString());
}
}
但是当我单击submit按钮时,代码不会抛出任何异常,也不会插入所需的。这里有什么问题?您正在生成命令对象,但没有执行查询。您必须调用命令对象上的方法才能插入记录
using (SqlConnection con = new SqlConnection(CS))
{
con.Open();
SqlCommand cmd = new SqlCommand("Insert into tblRegister(Balance) values(@FinalBalance)", con);
cmd.Parameters.AddWithValue("@FinalBalance", Session["FinalBalance"].ToString());
cmd.ExecuteNonQuery ();
}
“System.Data.SqlClient.SqlCommand”不包含“ExecuteQuery”的定义,并且找不到接受“System.Data.SqlClient.SqlCommand”类型的第一个参数的扩展方法“ExecuteQuery”(是否缺少using指令或程序集引用?),检查有关ExecuteOnQuery的此链接,它显示无效列“Balance”。但我有一个同名列。请从列名称Balance中删除引号,并从查询库中删除参数@FinalBalance以获得答复。我发现我无法使用“Insert”添加表中已有的值。为此,我必须使用“Update”。因此,我可以通过替换来使用相同的查询插入并更新?