Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

384 righe
16 KiB

using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
namespace Basic.DAL
{
/// <summary>
/// 数据访问层nav
/// </summary>
public partial class nav
{
/// <summary>
/// 增加一条数据
/// </summary>
public int Add(Basic.Model.nav model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into tb_nav(");
strSql.Append("paixu,title,class_id,parent_id,class_list,class_layer,path,url,target,state,remark,seo_title,seo_keywords,seo_description,add_time)");
strSql.Append(" values (");
strSql.Append("@paixu,@title,@class_id,@parent_id,@class_list,@class_layer,@path,@url,@target,@state,@remark,@seo_title,@seo_keywords,@seo_description,@add_time)");
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@paixu", SqlDbType.Int,10),
new SqlParameter("@title", SqlDbType.NVarChar,255),
new SqlParameter("@class_id", SqlDbType.Int,10),
new SqlParameter("@parent_id", SqlDbType.Int,10),
new SqlParameter("@class_list", SqlDbType.NVarChar,500),
new SqlParameter("@class_layer", SqlDbType.Int,10),
new SqlParameter("@path", SqlDbType.NVarChar,255),
new SqlParameter("@url", SqlDbType.NVarChar,255),
new SqlParameter("@target", SqlDbType.Int,10),
new SqlParameter("@state", SqlDbType.Int,10),
new SqlParameter("@remark", SqlDbType.NVarChar,500),
new SqlParameter("@seo_title", SqlDbType.NVarChar,255),
new SqlParameter("@seo_keywords", SqlDbType.NVarChar,255),
new SqlParameter("@seo_description", SqlDbType.NVarChar,255),
new SqlParameter("@add_time", SqlDbType.DateTime,23)};
parameters[0].Value = model.paixu;
parameters[1].Value = model.title;
parameters[2].Value = model.class_id;
parameters[3].Value = model.parent_id;
parameters[4].Value = model.class_list;
parameters[5].Value = model.class_layer;
parameters[6].Value = model.path;
parameters[7].Value = model.url;
parameters[8].Value = model.target;
parameters[9].Value = model.state;
parameters[10].Value = model.remark;
parameters[11].Value = model.seo_title;
parameters[12].Value = model.seo_keywords;
parameters[13].Value = model.seo_description;
parameters[14].Value = model.add_time;
object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(Basic.Model.nav model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update tb_nav set ");
strSql.Append("paixu=@paixu,");
strSql.Append("title=@title,");
strSql.Append("class_id=@class_id,");
strSql.Append("parent_id=@parent_id,");
strSql.Append("class_list=@class_list,");
strSql.Append("class_layer=@class_layer,");
strSql.Append("path=@path,");
strSql.Append("url=@url,");
strSql.Append("target=@target,");
strSql.Append("state=@state,");
strSql.Append("remark=@remark,");
strSql.Append("seo_title=@seo_title,");
strSql.Append("seo_keywords=@seo_keywords,");
strSql.Append("seo_description=@seo_description,");
strSql.Append("add_time=@add_time");
strSql.Append(" where id=@id");
SqlParameter[] parameters = {
new SqlParameter("@paixu", SqlDbType.Int,10),
new SqlParameter("@title", SqlDbType.NVarChar,255),
new SqlParameter("@class_id", SqlDbType.Int,10),
new SqlParameter("@parent_id", SqlDbType.Int,10),
new SqlParameter("@class_list", SqlDbType.NVarChar,500),
new SqlParameter("@class_layer", SqlDbType.Int,10),
new SqlParameter("@path", SqlDbType.NVarChar,255),
new SqlParameter("@url", SqlDbType.NVarChar,255),
new SqlParameter("@target", SqlDbType.Int,10),
new SqlParameter("@state", SqlDbType.Int,10),
new SqlParameter("@remark", SqlDbType.NVarChar,500),
new SqlParameter("@seo_title", SqlDbType.NVarChar,255),
new SqlParameter("@seo_keywords", SqlDbType.NVarChar,255),
new SqlParameter("@seo_description", SqlDbType.NVarChar,255),
new SqlParameter("@add_time", SqlDbType.DateTime,23),
new SqlParameter("@id", SqlDbType.Int,4)};
parameters[0].Value = model.paixu;
parameters[1].Value = model.title;
parameters[2].Value = model.class_id;
parameters[3].Value = model.parent_id;
parameters[4].Value = model.class_list;
parameters[5].Value = model.class_layer;
parameters[6].Value = model.path;
parameters[7].Value = model.url;
parameters[8].Value = model.target;
parameters[9].Value = model.state;
parameters[10].Value = model.remark;
parameters[11].Value = model.seo_title;
parameters[12].Value = model.seo_keywords;
parameters[13].Value = model.seo_description;
parameters[14].Value = model.add_time;
parameters[15].Value = model.id;
int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(int id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from tb_nav");
strSql.Append(" where id=@id");
SqlParameter[] parameters = {
new SqlParameter("@id", SqlDbType.Int,4)};
parameters[0].Value = id;
int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public Basic.Model.nav GetModel(int id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select top 1 id,paixu,title,class_id,parent_id,class_list,class_layer,path,url,target,state,remark,seo_title,seo_keywords,seo_description,add_time from tb_nav");
strSql.Append(" where id=@id");
SqlParameter[] parameters = {
new SqlParameter("@id", SqlDbType.Int,4)};
parameters[0].Value = id;
Basic.Model.nav model = new Basic.Model.nav();
DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
if (ds.Tables[0].Rows.Count > 0)
{
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["id"].ToString()))
{
model.id = int.Parse(ds.Tables[0].Rows[0]["id"].ToString());
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["paixu"].ToString()))
{
model.paixu = int.Parse(ds.Tables[0].Rows[0]["paixu"].ToString());
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["title"].ToString()))
{
model.title = ds.Tables[0].Rows[0]["title"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["class_id"].ToString()))
{
model.class_id = int.Parse(ds.Tables[0].Rows[0]["class_id"].ToString());
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["parent_id"].ToString()))
{
model.parent_id = int.Parse(ds.Tables[0].Rows[0]["parent_id"].ToString());
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["class_list"].ToString()))
{
model.class_list = ds.Tables[0].Rows[0]["class_list"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["class_layer"].ToString()))
{
model.class_layer = int.Parse(ds.Tables[0].Rows[0]["class_layer"].ToString());
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["path"].ToString()))
{
model.path = ds.Tables[0].Rows[0]["path"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["url"].ToString()))
{
model.url = ds.Tables[0].Rows[0]["url"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["target"].ToString()))
{
model.target = int.Parse(ds.Tables[0].Rows[0]["target"].ToString());
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["state"].ToString()))
{
model.state = int.Parse(ds.Tables[0].Rows[0]["state"].ToString());
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["remark"].ToString()))
{
model.remark = ds.Tables[0].Rows[0]["remark"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["seo_title"].ToString()))
{
model.seo_title = ds.Tables[0].Rows[0]["seo_title"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["seo_keywords"].ToString()))
{
model.seo_keywords = ds.Tables[0].Rows[0]["seo_keywords"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["seo_description"].ToString()))
{
model.seo_description = ds.Tables[0].Rows[0]["seo_description"].ToString();
}
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["add_time"].ToString()))
{
model.add_time = DateTime.Parse(ds.Tables[0].Rows[0]["add_time"].ToString());
}
return model;
}
else
{
return null;
}
}
/// <summary>
/// 获得前几行数据
/// </summary>
public DataSet GetList(int Top, string strWhere, string filedOrder)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select ");
if (Top > 0)
{
strSql.Append(" top " + Top.ToString());
}
strSql.Append("id,paixu,title,class_id,parent_id,class_list,class_layer,path,url,target,state,remark,seo_title,seo_keywords,seo_description,add_time");
strSql.Append(" from tb_nav");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
strSql.Append(" order by " + filedOrder);
return DbHelperSQL.Query(strSql.ToString());
}
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(int id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from tb_nav");
strSql.Append(" where id=@id");
SqlParameter[] parameters = {
new SqlParameter("@id", SqlDbType.Int,4)};
parameters[0].Value = id;
return DbHelperSQL.Exists(strSql.ToString(), parameters);
}
/// <summary>
/// 修改一列数据
/// </summary>
public void UpdateField(int id, string strValue)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update tb_nav set " + strValue);
strSql.Append(" where id=" + id);
DbHelperSQL.ExecuteSql(strSql.ToString());
}
/// <summary>
/// 取得所有类别列表
/// </summary>
/// <param name="parent_id">父ID</param>
/// <param name="class_id">分类ID</param>
/// <returns></returns>
public DataTable GetList(int parent_id, int class_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from tb_nav");
if (class_id > 0)
{
strSql.Append(" where class_id=" + class_id);
}
strSql.Append(" order by paixu desc,id asc");
DataSet ds = DbHelperSQL.Query(strSql.ToString());
DataTable oldData = ds.Tables[0] as DataTable;
if (oldData == null)
{
return null;
}
//复制结构
DataTable newData = oldData.Clone();
//调用迭代组合成DAGATABLE
GetChilds(oldData, newData, parent_id, class_id);
return newData;
}
/// <summary>
/// 从内存中取得所有下级类别列表(自身迭代)
/// </summary>
private void GetChilds(DataTable oldData, DataTable newData, int parent_id, int channel_id)
{
DataRow[] dr = oldData.Select("parent_id=" + parent_id);
for (int i = 0; i < dr.Length; i++)
{
//添加一行数据
DataRow row = newData.NewRow();
row["id"] = int.Parse(dr[i]["id"].ToString());
row["paixu"] = int.Parse(dr[i]["paixu"].ToString());
row["title"] = dr[i]["title"].ToString();
row["class_id"] = int.Parse(dr[i]["class_id"].ToString());
row["parent_id"] = int.Parse(dr[i]["parent_id"].ToString());
row["class_layer"] = int.Parse(dr[i]["class_layer"].ToString());
row["class_list"] = dr[i]["class_list"].ToString();
row["path"] = dr[i]["path"].ToString();
row["url"] = dr[i]["url"].ToString();
row["target"] = int.Parse(dr[i]["target"].ToString());
row["state"] = int.Parse(dr[i]["state"].ToString());
row["remark"] = dr[i]["remark"].ToString();
row["seo_title"] = dr[i]["seo_title"].ToString();
row["seo_keywords"] = dr[i]["seo_keywords"].ToString();
row["seo_description"] = dr[i]["seo_description"].ToString();
row["add_time"] = DateTime.Parse(dr[i]["add_time"].ToString());
newData.Rows.Add(row);
//调用自身迭代
this.GetChilds(oldData, newData, int.Parse(dr[i]["id"].ToString()), channel_id);
}
}
/// <summary>
/// 返回第一个class_id
/// </summary>
public int GetClass_Id()
{
int class_id = 0;
BasicPage bp = new BasicPage();
SqlDataReader myread = bp.getRead("select top 1 class_id from tb_nav");
if (myread.Read())
{
class_id = int.Parse(myread[0].ToString());
}
myread.Close();
return class_id;
}
/// <summary>
/// 返回导航链接
/// </summary>
//public string GetNav(int _id)
//{
// int class_id = 0;
// BasicPage bp = new BasicPage();
// SqlDataReader myread = bp.getRead("select top 1 class_id from tb_nav");
// if (myread.Read())
// {
// class_id = int.Parse(myread[0].ToString());
// }
// myread.Close();
// return class_id;
//}
}
}