using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text;
using System.Data.OleDb;
using Maticsoft.DBUtility;//请先添加引用
namespace Maticsoft.DAL
{
/// <summary>
/// 数据访问类newsbig。
/// </summary>
public class newsbig
{
        public static string connectionString = PubConstant.ConnectionString;  
public newsbig()
{}
#region  成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(int id)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select count(1) from newsbig");
strSql.Append(" where id="+id+" ");
return DbHelperOleDb.Exists(strSql.ToString());
} /// <summary>
/// 增加一条数据
/// </summary>
public void Add(Maticsoft.Model.newsbig model)
{
StringBuilder strSql=new StringBuilder();
StringBuilder strSql1=new StringBuilder();
StringBuilder strSql2=new StringBuilder();
if (model.id != null)
{
strSql1.Append("id,");
strSql2.Append(""+model.id+",");
}
if (model.newsclass != null)
{
strSql1.Append("newsclass,");
strSql2.Append("'"+model.newsclass+"',");
}
if (model.newsid != null)
{
strSql1.Append("newsid,");
strSql2.Append(""+model.newsid+",");
}
strSql.Append("insert into newsbig(");
strSql.Append(strSql1.ToString().Remove(strSql1.Length - 1));
strSql.Append(")");
strSql.Append(" values (");
strSql.Append(strSql2.ToString().Remove(strSql2.Length - 1));
strSql.Append(")");
DbHelperOleDb.ExecuteSql(strSql.ToString());
} /// <summary>
/// 更新一条数据
/// </summary>
public void Update(Maticsoft.Model.newsbig model)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("update newsbig set ");
if (model.id != null)
{
strSql.Append("id="+model.id+",");
}
if (model.newsclass != null)
{
strSql.Append("newsclass='"+model.newsclass+"',");
}
if (model.newsid != null)
{
strSql.Append("newsid="+model.newsid+",");
}
int n = strSql.ToString().LastIndexOf(",");
strSql.Remove(n, 1);
strSql.Append(" where id="+ model.id+" ");
DbHelperOleDb.ExecuteSql(strSql.ToString());
} /// <summary>
/// 删除一条数据
/// </summary>
public void Delete(int id)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("delete from newsbig ");
strSql.Append(" where id="+id+" " );
DbHelperOleDb.ExecuteSql(strSql.ToString());
} /// <summary>
/// 得到一个对象实体
/// </summary>
public Maticsoft.Model.newsbig GetModel(int id)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select  ");
strSql.Append(" id,newsclass,newsid ");
strSql.Append(" from newsbig ");
strSql.Append(" where id="+id+" " );
Maticsoft.Model.newsbig model=new Maticsoft.Model.newsbig();
DataSet ds=DbHelperOleDb.Query(strSql.ToString());
if(ds.Tables[0].Rows.Count>0)
{
if(ds.Tables[0].Rows[0]["id"].ToString()!="")
{
model.id=int.Parse(ds.Tables[0].Rows[0]["id"].ToString());
}
model.newsclass=ds.Tables[0].Rows[0]["newsclass"].ToString();
if(ds.Tables[0].Rows[0]["newsid"].ToString()!="")
{
model.newsid=int.Parse(ds.Tables[0].Rows[0]["newsid"].ToString());
}
return model;
}
else
{
return null;
}
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select id,newsclass,newsid ");
strSql.Append(" FROM newsbig ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
return DbHelperOleDb.Query(strSql.ToString());
}
        public List<Model.newsbig> get_List()
        {
            List<Model.newsbig> List = new List<Model.newsbig>();
            DataTable dt = getDataSet("select * from newsbig where newsid=0 ").Tables[0];
            foreach (DataRow dr in dt.Rows)
            {
                Model.newsbig model = new Model.newsbig();
                model.id = Convert.ToInt32(dr["id"]);
                model.newsclass = dr["newsclass"].ToString();
                model.newsid = Convert.ToInt32(dr["newsid"]);
                List.Add(model);
            }
            return List;
        }        public List<Model.newsbig> get_List(string ParentID)
        {
            List<Model.newsbig> List = new List<Model.newsbig>();
            DataTable dt = getDataSet("select * from newsbig where newsid=" + ParentID + " ").Tables[0];
            foreach (DataRow dr in dt.Rows)
            {
                Model.newsbig model = new Model.newsbig();
                model.id = Convert.ToInt32(dr["id"]);
                model.newsclass = dr["newsclass"].ToString();
                model.newsid = Convert.ToInt32(dr["newsid"]);
                List.Add(model);
            }
            return List;
        }        protected DataSet getDataSet(string sql)
        {
            OleDbConnection conn = new OleDbConnection(connectionString);
            conn.Open();            OleDbCommand cmd = new OleDbCommand(sql, conn);
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.SelectCommand = cmd;
            DataSet ds = new DataSet();
            da.Fill(ds);
            conn.Close();
            return ds;
        }
        public DataTable GetAll(int id)
        {
            StringBuilder strSql = new StringBuilder();
            strSql = new StringBuilder();
            strSql.Append("select * from newsbig where newsid=" + id + "");
            return DbHelperOleDb.Fill(strSql.ToString());
        }
/*
*/ #endregion  成员方法
}
}应该如何修改?

解决方案 »

  1.   

    又来代码 Review ...
    提示不是很清晰嘛? model.newid 的这个属性是 int 类型。根本不会有null
      

  2.   

    空值在C#中为nullC#中的解释:
         null 是引用类型变量的默认值。在C#中判断变量是否是空值,通过expression == null或者expression != null即可,即使expression是值类型也不会抛出错误,不过会有警告信息。例如下面的代码:编译时会提示如下警告信息:由于“int”类型的值永不等于“int?”类型的“null”,该表达式的结果始终为“false”。你红色标记的是出错的地方嘛?if (!string.IsNullOrEmpty(model.newsid.ToString()))
      

  3.   

    而且int类型的默认值就是0,压根就不会出现等于null的情形
      

  4.   

    在获取值得时候界面 如果 为""空值,就赋值:model.newsid=-1;然后修改的时候判断的时候if(model.newsid!=-1)
      

  5.   

    model.newsid  这个模型的 这个属性   你创建这个实体类的时候 就应该赋了初值的
    你判断 如果 model.newsid!=你model实体类的newsid的初值 就可以了
      

  6.   

    if( !string.IsNullOrEmpty(model.FileNam) )
    {
    strWhere += " and FileNam like @FileNam";
    }
    这样判断试试 
      

  7.   

    楼主的这个DAL层貌似动软.NET自动生成的!
      

  8.   

    楼主,将实体的model.newsid 属性修改成
    public int? _newsid public int? newsid {get;set}就是将类型后面加个?号就可以了,该符号表示该值 允许null时间类型字段也可以解决问题,请给分
      

  9.   

    +1
    int绝对不会出现NULL,不知道LZ想表达什么?
      

  10.   

    Int32 值类型表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有符号整数。
    只有这些,没其他的了 
      

  11.   

    int?.value 不是等于int了吗?
      

  12.   


    你的model.newsid应该是Int类型的吧如果是Int?就不会报警告了