⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 freelabel.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
字号:
//======================================================
//==     (c)2008 aspxcms inc by NeTCMS v1.0              ==
//==          Forum:bbs.aspxcms.com                   ==
//==         Website:www.aspxcms.com                  ==
//======================================================
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;
using NetCMS.DALFactory;
using NetCMS.Model;
using NetCMS.Global;
using NetCMS.DALProfile;
using NetCMS.Config;

namespace NetCMS.DALSQLServer
{
    public class FreeLabel : DbBase, IFreeLabel
    {
        public IList<FreeLablelDBInfo> GetTables()
        {
            IList<FreeLablelDBInfo> Tables = new List<FreeLablelDBInfo>();
            SqlConnection cn = new SqlConnection(DBConfig.CmsConString);
            cn.Open();
            DataTable dt = cn.GetSchema("Tables");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i].ItemArray[3].ToString() == "BASE TABLE")
                {
                    string TabNm = dt.Rows[i][2].ToString();
                    if (!TabNm.ToLower().Equals("dtproperties"))
                        Tables.Add(new FreeLablelDBInfo(TabNm, TabNm, ""));
                }
            }
            cn.Close();
            return Tables;
        }
        public IList<FreeLablelDBInfo> GetFields(string TableName)
        {
            IList<FreeLablelDBInfo> Fields = new List<FreeLablelDBInfo>();
            string Sql = "select top 1 * from " + TableName + " where 1=0";
            IDataReader rd = DbHelper.ExecuteReader(DBConfig.CmsConString, CommandType.Text, Sql, null);
            for (int i = 0; i < rd.FieldCount; i++)
            {
                string fdnm = rd.GetName(i);
                Fields.Add(new FreeLablelDBInfo(fdnm, fdnm, rd.GetDataTypeName(i)));
            }
            if (rd.IsClosed == false)
                rd.Close();
            return Fields;
        }
        public bool IsNameRepeat(int id, string Name)
        {
            SqlConnection cn = new SqlConnection(DBConfig.CmsConString);
            cn.Open();
            try
            {
                bool flag = IsRepeat(cn, id, Name);
                return flag;
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
        }
        private bool IsRepeat(SqlConnection cn, int id, string Name)
        {
            string Sql = "select count(*) from " + Pre + "sys_LabelFree where SiteID='" + Current.SiteID + "' and LabelName=@LabelName";
            if (id > 0)
                Sql += " and id<>" + id;
            SqlParameter param = new SqlParameter("@LabelName", SqlDbType.NVarChar, 30);
            param.Value = Name;
            int n = Convert.ToInt32(DbHelper.ExecuteScalar(CommandType.Text, Sql, param));
            if (n > 0)
                return true;
            else
                return false;

        }
        public bool Add(FreeLabelInfo info)
        {
            return Edit(info);
        }
        public bool Update(FreeLabelInfo info)
        {
            return Edit(info);
        }
        private bool Edit(FreeLabelInfo info)
        {
            SqlConnection cn = new SqlConnection(DBConfig.CmsConString);
            cn.Open();
            try
            {
                if (IsRepeat(cn, info.Id, info.LabelName))
                    return false;
                string Sql = "";
                if (info.Id < 1)
                {
                    string LblID = NetCMS.Common.Rand.Number(12);
                    while (Convert.ToInt32(DbHelper.ExecuteScalar(cn, CommandType.Text, "select count(*) from " + Pre + "sys_LabelFree where LabelID='" + LblID + "'", null)) > 0)
                    {
                        LblID = NetCMS.Common.Rand.Number(12, true);
                    }
                    Sql = "insert into " + Pre + "sys_LabelFree (LabelID,LabelName,LabelSQL,StyleContent,Description,CreatTime,SiteID) values ('" + LblID + "',@LabelName,@LabelSQL,@StyleContent,@Description,'" + DateTime.Now + "','" + Current.SiteID + "')";
                }
                else
                {
                    Sql = "update " + Pre + "sys_LabelFree set LabelName=@LabelName,LabelSQL=@LabelSQL,StyleContent=@StyleContent,Description=@Description where SiteID='" + Current.SiteID + "' and Id=" + info.Id;
                }
                SqlParameter[] parm = new SqlParameter[4];
                parm[0] = new SqlParameter("@LabelName", SqlDbType.NVarChar, 30);
                parm[0].Value = info.LabelName;
                parm[1] = new SqlParameter("@LabelSQL", SqlDbType.NVarChar, 4000);
                parm[1].Value = info.LabelSQL;
                parm[2] = new SqlParameter("@StyleContent", SqlDbType.NVarChar, 4000);
                parm[2].Value = info.StyleContent;
                parm[3] = new SqlParameter("@Description", SqlDbType.NVarChar, 200);
                parm[3].Value = info.Description.Equals("") ? DBNull.Value : (object)info.Description;
                DbHelper.ExecuteNonQuery(cn, CommandType.Text, Sql, parm);
                return true;
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
        }
        public FreeLabelInfo GetSingle(int id)
        {
            string Sql = "select LabelName,LabelSQL,StyleContent,Description,CreatTime,SiteID from " + Pre + "sys_LabelFree where SiteID='" + Current.SiteID + "' and Id=" + id;
            IDataReader rd = DbHelper.ExecuteReader(DBConfig.CmsConString, CommandType.Text, Sql, null);
            if (rd.Read())
            {
                string desc = "";
                if (!rd.IsDBNull(3)) desc = rd.GetString(3);
                FreeLabelInfo info = new FreeLabelInfo(id, rd.GetString(0), rd.GetString(1), rd.GetString(2), desc);
                rd.Close();
                return info;
            }
            else
            {
                rd.Close();
                throw new Exception("没有找到相关的自由标签记录!");
            }
        }
        public bool Delete(int id)
        {
            string Sql = "delete from " + Pre + "sys_LabelFree where SiteID='" + Current.SiteID + "' and Id=" + id;
            int n = DbHelper.ExecuteNonQuery(DBConfig.CmsConString, CommandType.Text, Sql, null);
            if (n > 0)
                return true;
            else
                return false;
        }
        public DataTable TestSQL(string Sql)
        {
            DataTable tb = DbHelper.ExecuteTable(DBConfig.CmsConString, CommandType.Text, Sql, null);
            return tb;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -