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;
|
|
//}
|
|
}
|
|
}
|
|
|