今天项目中遇到的一个问题:判断新闻Id是否存在
?今天做項目中,寫了個類,中間用于判斷新聞是否存在。其中我的記錄只有8條,Id分別為7,8,9,10,11,12,13,14,當用sql語句:?private const string SQL_SELECT_COUNT_ID = "select count(1) from [aspnet_Hr] where Id=@Id";的時候,比如:http://www.a.com/default.aspx?id=7就能正常顯示,其它的也都能正常顯示,提示記錄存在,但當Id=10,即http://www.a.com/default.aspx?id=10,明明記錄存在,但是提示記錄不存在。
當把sql語句換成private const string SQL_SELECT_COUNT_ID = "select count(id) from [aspnet_Hr] where Id=@Id";后,一切都正常了!現在還沒太清楚為什么?而在sql server 2005 里運行這兩條語句,得到的結果是一樣的!
select count(1) from [aspnet_Hr] where Id='10'
select count(?Id) from [aspnet_Hr] where Id='10'
namespace ChinaFine.DAL
{
public class Hr:IHr
??? {
?????? Database db = DatabaseFactory.CreateDatabase("WebDataBaseConnectionString");//聲明db
?????? private const string PARM_ID="@Id";
????????private const string SQL_SELECT_COUNT_ID = "select count(id) from [aspnet_Hr] where Id=@Id";
????????//下面這樣寫為什么當
????????private const string SQL_SELECT_COUNT_ID = "select count(id) from [aspnet_Hr] where Id=@Id";
??????
??????? #region IHr 成員
??????? public bool Exists(int id)
??????? {
??????????? DbCommand dbCmd = db.GetSqlStringCommand(SQL_SELECT_COUNT_ID);
??????????? db.AddInParameter(dbCmd, PARM_ID, DbType.Int32, id);
??????????? object obj = db.ExecuteScalar(dbCmd);
??????????? int cmdResult;
??????????? if (obj.Equals(null)||obj.Equals(System.DBNull.Value))
??????????? {
??????????????? cmdResult=0;
??????????? }
??????????? else
??????????? {
??????????????? cmdResult = int.Parse(obj.ToString());
??????????? }
??????????? if (cmdResult>0)
??????????? {
??????????????? return true;
??????????? }
??????????? else
??????????? {
??????????????? return false;
??????????? }
??????? }
????}
}
protected void Page_Load(object sender, EventArgs e)
??? {
??????? ChinaFine.IDAL.IHr news = new ChinaFine.DAL.Hr();
??????? if (news.Exists(Convert.ToInt32(Request.QueryString["id"])))
??????? {
??????????? Response.Write("新聞存在");
??????? }
??????? else
??????? {
??????????? Response.Write("新聞不存在");
??????? }
??? }
昏倒,剛才又把項目重新生成一下,用兩個都可以了!不知道是怎么回事?
轉載于:https://www.cnblogs.com/chinafine/archive/2008/06/13/1219530.html
總結
以上是生活随笔為你收集整理的今天项目中遇到的一个问题:判断新闻Id是否存在的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 月祭汶川
- 下一篇: C#获取当前路径的方法集合