C#无限栏目分级程序代码分享 好东西第1/3页

 更新时间:2006年12月28日 00:00:00   作者:  
数据库表的结构必须有以下字段:  

各个字段的说明:

3,本示例核心为idb.cs,db.cs和action.cs,分别说明下作用
idb.cs:数据库操作类的接口,代码如下: using System;
using System.Data;

namespace catalog
{
/// <summary>
/// idb 的摘要说明。
/// </summary>
interface idb
{
  //
  //void open();构造函数当然不能在接口里声明

  System.Data.IDbConnection getcon
  {
   get;
   //set;
  }

  string constr
  {
   get;
  }

  System.Data.IDbCommand command(string sql);

  int exesql(string sql);

  object getvalue(string sql);

  void close();

  DataTable getdata(string sql);

  System.Data.IDataReader getdr(string sql);
}
}





db.cs实例这个接口: using System;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Configuration;
//using System.Web;

namespace catalog
{
/// <summary>
/// db 的摘要说明。
/// </summary>
public class db:idb
{
  private IDbConnection con;
  private IDbCommand cm;
  private string dbtype="access";

  public db()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
   dbtype=ConfigurationSettings.AppSettings["dbtype"];
   if (dbtype==null)
    dbtype="";
   if (dbtype.ToLower()=="sqlserver")
   {
    con=new SqlConnection();
    cm= new SqlCommand();
   }
   else
   {
    con=new OleDbConnection();
    cm= new OleDbCommand();
   }

   string cnstring=ConfigurationSettings.AppSettings["cnstr"];
   con.ConnectionString=cnstring;

   open();
   cm.Connection=con;
  }

  public db(string constr)
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
   dbtype=ConfigurationSettings.AppSettings["dbtype"];
   if (dbtype==null)
    dbtype="";
   if (dbtype.ToLower()=="sqlserver")
   {
    con=new SqlConnection();
    cm= new SqlCommand();
   }
   else
   {
    con=new OleDbConnection();
    cm= new OleDbCommand();
   }

   con.ConnectionString=constr;
   open();
   cm.Connection=con;
  }

  private void open()
  {
   con.Open();
  }

  public System.Data.IDbConnection getcon
  {
   get{return con;}
   //set{};
  }

  public int exesql(string sql)
  {
   cm.CommandText=sql;
   return cm.ExecuteNonQuery();
  }

  public object getvalue(string sql)
  {
   cm.CommandText=sql;
   //return cm.ExecuteScalar();
   object o=cm.ExecuteScalar();
   return o;
  }

  public void close()
  {
   cm.Dispose();
   con.Close();
   con.Dispose();
   con=null;
  }

  public DataTable getdata(string sql)
  {
   DataTable dt=new DataTable();
   if (dbtype.ToLower()=="sqlserver")
   {
    SqlDataAdapter adapter = new SqlDataAdapter();
    cm.CommandText=sql;
    adapter.SelectCommand=(SqlCommand)cm;
    adapter.Fill(dt);
   }
   else
   {
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    cm.CommandText=sql;
    adapter.SelectCommand=(OleDbCommand)cm;
    adapter.Fill(dt);
   }
   return dt;
  }

  public IDataReader getdr(string sql)
  {
   cm.CommandText=sql;
   return cm.ExecuteReader();

  }

  public string constr
  {
   get{return ConfigurationSettings.AppSettings["cnstr"];}
  }

  public System.Data.IDbCommand command(string sql)
  {
   cm.CommandText=sql;
   return cm;
  }
}
}
C#无限栏目分级程序代码分享[2] 核心类说明

本程序采用C#为脚本编写,同时支持ACCESS/SQL SERVER数据库。 
本程序功能:栏目无限分级,栏目的移动,添加,排序,删除(栏目树),操作方便,部署、使用更为简单,提供统一的接口程序。 
本程序才开发完毕,难免有错误或者BUG,欢迎提出,不甚感激。 

核心类文件方法调用说明 
public void deleteAllCatalog(string table) //清空栏目表 
public int downClass(string table,int classid) //栏目向下移动一位 
public int upClass(string table,int classid)//栏目向上移动一位 
public int moveClass(string table,int classid,int target)//栏目的移动 
public int deleteTree(string table,int classid)//删除栏目树 
public DataTable list(string table)//用于列出栏目列表 
public int getClassidOrderNum(string table,int classid)//得到栏目的排序ID 
public bool checkExist(string table,int classid)//检查栏目是否存在 
public string getChildren(string table,int classid)//列出一个栏目所有的子栏目 
public int modiClass(string table,int classid,string classname)//修改栏目 
public string classMap(string table,int classid)//栏目导航,地图 
public string getClassName(string table,int classid)//得到栏目名称 
public int reset(string table)//重新置位全部类别为一级栏目 
public int deleteClass(string table,int classid)//删除栏目 
public static void itemcreated(Object Sender, System.Web.UI.WebControls.RepeaterItemEventArgs e,string ctlname,string ctlname2)//列栏目的时候的repeater的事件 
public static string getOptions(string table,int type,int selected)//用于select的options 
public object addClass(string table,string classname,int parentid)//添加类别

相关文章

  • Unity使用LineRender断笔写字

    Unity使用LineRender断笔写字

    这篇文章主要为大家详细介绍了Unity使用LineRender断笔写字效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • C#对Xamarin框架进行数据绑定

    C#对Xamarin框架进行数据绑定

    这篇文章介绍了C#对Xamarin框架进行数据绑定,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • C#调用js库的方法示例代码

    C#调用js库的方法示例代码

    这篇文章主要介绍了C#调用js库的方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • c#中XML解析文件出错解决方法

    c#中XML解析文件出错解决方法

    在解析xml时,经常因为文件中含特殊字符而解析失败。原因有两个:一是内容中含有XML预定义好的实体,二是内容中含有低位非打印字符
    2014-08-08
  • C# winform登陆框验证码的实现方法

    C# winform登陆框验证码的实现方法

    这篇文章主要为大家详细介绍了C# winform登陆框验证码的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Unity中使用反射机制调用函数

    Unity中使用反射机制调用函数

    这篇文章主要为大家详细介绍了Unity中使用反射机制调用函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • C#算法设计与分析详解

    C#算法设计与分析详解

    本文详细讲解了C#的算法设计与分析,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • C# 使用WPF 用MediaElement控件实现视频循环播放

    C# 使用WPF 用MediaElement控件实现视频循环播放

    在WPF里用MediaElement控件,实现一个循环播放单一视频的程序,同时可以控制视频的播放、暂停、停止。这篇文章给大家介绍了C# 使用WPF 用MediaElement控件实现视频循环播放,需要的朋友参考下吧
    2018-04-04
  • C# 崩溃异常中研究页堆布局的详细过程

    C# 崩溃异常中研究页堆布局的详细过程

    最近遇到一位朋友的程序崩溃,发现崩溃点在富编辑器 msftedit 上,这个不是重点,重点在于发现他已经开启了 页堆,由于 页堆 和 NT堆 的内存布局完全不一样,这一篇结合我的了解以及 windbg 验证来系统的介绍下 页堆,需要的朋友可以参考下
    2022-10-10
  • C#字符串与正则表达式的图文详解

    C#字符串与正则表达式的图文详解

    正则表达式是个非常好的工具,它的作用主要是用简单的有规则的表达式来检索和匹配一段字符串,这篇文章主要给大家介绍了关于C#字符串与正则表达式的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论