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”。因此,我可以通过替换来使用相同的查询插入并更新?