我正在查询此代码
SqlCommand Update = new SqlCommand("UPDATE TermsTable SET Doc_ID += @Doc, Freq += @Frq ,Postion += @Pos WHERE Term=@Trm ", GetConnection());
Update.Parameters.Add(@"Doc", SqlDbType.NVarChar).Value = (";" + ID.ToString()).ToString();
Update.Parameters.Add(@"Frq", SqlDbType.NVarChar).Value = (";" + PureContent.CountWordinThext(word, PureContent.GetContentPure)).ToString();
Update.Parameters.Add(@"Pos", SqlDbType.NVarChar).Value =( ";" + PureContent.GetPostionWithinStrin(PureContent.GetContentPure, word)).ToString();
Update.Parameters.Add(@"Trm", SqlDbType.NVarChar).Value = (";" + word.ToLower()).ToString();
Update.ExecuteNonQuery();
Update.Parameters.Clear();
要通过为表添加新值来更新表,它在我的SQL计算机上运行正常 - 否则我的计算机已执行但我的表中没有更新。
答案 0 :(得分:1)
变化:
Update.Parameters.Add(@"Trm", SqlDbType.NVarChar).Value = (";" + word.ToLower()).ToString();
要
Update.Parameters.Add(@"Trm", SqlDbType.NVarChar).Value = word;
删除分号以仅搜索您想要的word
“字词,并删除ToLower
,因为它区分大小写。
修改强>:
顺便说一下,所有这些ToString()
都是多余的;例如,你可以改变:
Update.Parameters.Add(@"Doc", SqlDbType.NVarChar).Value = (";" + ID.ToString()).ToString();
到
Update.Parameters.Add(@"Doc", SqlDbType.NVarChar).Value = ";" + ID;