ExecutreNonQuery和更新语句

拖网

尝试保存时收到此错误。

单词更新附近的语法不正确。

似乎是一个显而易见的解决方法,但我似乎找不到。希望新鲜的眼睛会有所帮助!谢谢

protected void btnSave_Click(object sender, EventArgs e)
{
    Button EditButton = (Button)EditLoginView.FindControl("EditButton");
    Button SaveButton = (Button)EditLoginView.FindControl("SaveButton");

        TitleLanguage.ActiveViewIndex = 0;
        LanguageView.ActiveViewIndex = 0;
        EditButton.Visible = true;
        SaveButton.Visible = false;

        //update the file in the database
        string strQuery = "UPDATE pages SET en_content = @en_Content, fr_Content = @fr_content, fr_Title=@fr_title, en_Title=@en_title, update=@update WHERE link_title = @link_title";
        SqlCommand cmd = new SqlCommand(strQuery);
        cmd.Parameters.Add("@en_title", SqlDbType.VarChar).Value = Edit_EnglishT.Text;
        cmd.Parameters.Add("@fr_title", SqlDbType.VarChar).Value = Edit_FrenchT.Text;
        cmd.Parameters.Add("@en_content", SqlDbType.VarChar).Value = Edit_English.Text;
        cmd.Parameters.Add("@fr_content", SqlDbType.VarChar).Value = Edit_French.Text;
        cmd.Parameters.Add("@update", SqlDbType.DateTime).Value = DateTime.Now;
        cmd.Parameters.Add("@link_", SqlDbType.VarChar).Value = linktitle;
        UpdateData(cmd);



}


 private Boolean UpdateData(SqlCommand cmd)
{
    String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["randolphConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(strConnString);
    cmd.CommandType = CommandType.Text;
    cmd.Connection = con;
    try
    {
        con.Open();
        cmd.ExecuteNonQuery();
        return true;
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
        return false;
    }
    finally
    {
        con.Close();
        con.Dispose();
    }

}
索纳·古努尔(Soner Gonul)

UPDATET-SQL中保留关键字您应该将其与方括号一起使用[UPDATE]

喜欢;

string strQuery = @"UPDATE pages SET en_content = @en_Content, fr_Content = @fr_content, fr_Title=@fr_title, en_Title=@en_title,
                  [update]=@update WHERE link_title = @link_title";
                  ^^^^^^^^

作为一般建议,请勿在数据库中使用保留关键字作为标识符和对象名称。

也改变你的

cmd.Parameters.Add("@link_", SqlDbType.VarChar).Value = linktitle;

cmd.Parameters.Add("@link_title", SqlDbType.VarChar).Value = linktitle;

因为你宣布你的参数名称@link_title不能@link_在你的strQuery

编辑:为澄清起见,您无需UpdateData为该过程使用方法()。只是这样使用;

String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["randolphConnectionString"].ConnectionString;
using(SqlConnection con = new SqlConnection(strConnString))
using(SqlCommand cmd = con.CreateCommand())
{
     string strQuery = @"UPDATE pages SET en_content = @en_Content, fr_Content = @fr_content, fr_Title=@fr_title, en_Title=@en_title, [update]=@update WHERE link_title = @link_title";
     cmd.CommandText = strQuery;
     cmd.Parameters...;
     .....
     .....
     cmd.Connection.Open();
     cmd.ExecuteNonQuery();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章