尝试保存时收到此错误。
单词更新附近的语法不正确。
似乎是一个显而易见的解决方法,但我似乎找不到。希望新鲜的眼睛会有所帮助!谢谢
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();
}
}
UPDATE
是T-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] 删除。
我来说两句