SqlCommand执行时异常 列名无效。

来源:百度知道 编辑:UC知道 时间:2024/06/05 03:02:36
执行时总是告诉我列名 'lite' 无效。晕了我跟本就没写过这列,
_ArticleID是string变量
conn.Open();
cmd = new SqlCommand("UPDATE BBS_Article SET BBSArticle.BBS_ArticleElite = 'true' WHERE BBS_ArticleID=" + _ArticleID, conn);
cmd.ExecuteNonQuery();
在代码里没写过lite这列却总是告诉我列名 'lite' 无效。

cmd = new SqlCommand("UPDATE BBS_Article SET BBSArticle.BBS_ArticleElite = 'true' WHERE BBS_ArticleID=" + _ArticleID, conn);
改成
cmd = new SqlCommand("UPDATE BBS_Article SET [BBSArticle.BBS_ArticleElite] = 'true' WHERE BBS_ArticleID=" + _ArticleID, conn);
试试

很有可能BBS_ArticleElite是sql数据库的关键字,执行的时候把BBS_ArticleE和lite分开操作,因而一起列名 'lite' 无效。加上[]完全按照值操作

cmd = new SqlCommand("UPDATE BBS_Article SET [BBS_ArticleElite] = 'true' WHERE BBS_ArticleID=" + _ArticleID, conn);