利用c#制作简单的留言板

80酷酷网    80kuku.com

  首先要感谢bigeagle的帮助,这个也是参考她的bbs做成的
留言板分三个模块:列出留言列表、显示详细内容、发表留言
notepage.cs
namespace notpage
{
    using System;
    using System.Data.SQL ;
    using System.Data ;
    using System.Collections ;
    

        
    ////////////////////////////////////////////////////////////////////
    //
    // Class Name :       留言板
    //
    // Description:       构造一个留言板对象
    //
    // date:              2000/06/06
    //
    // 作者:              天啦
    /// ////////////////////////////////////////////////////////////////


    /// <summary>
    ///    Summary description for notepage.
    /// </summary>
    
     
    public class notepage
    {
        //私有变量
    
        private int       n_intID    ;            //ID编号
        private string n_strTitle ;            //主题
        private string n_strAuthor ;        //留言人
        private string n_strContent ;        //留言内容
        private DateTime n_dateTime ;        //留言时间

        
        //属性
    

        public int ID
        {
            get
            {
                return n_intID ;
            }
            set
            {
                n_intID = value;
            }
        }

        public string Title
        {
            get
            {
                return n_strTitle ;
            }
            set
            {
                n_strTitle = value;
            }
        }

        public string Author
        {
            get
            {
                return n_strAuthor ;
            }
            set
            {
                n_strAuthor = value ;
            }
        }
        public string Content
        {
            get
            {
                return n_strContent ;
            }
            set
            {
                n_strContent = value ;
            }
        }
        public DateTime adddate
        {
            
            get
            {
                return n_dateTime;
            }
            set
            {
                n_dateTime = value;
            }
        }
        //构造函数
          public notepage()
        {
            //
            // TODO: Add Constructor Logic here
            //
            this.n_intID = 0 ;
            this.n_strTitle = "" ;
            this.n_strAuthor = "" ;
            this.n_strContent = "" ;
            this.n_dateTime = System.DateTime.Now;
            
        }

        /// <summary>
        ///
        /// 取得留言的内容
        ///
        /// </summary>
        /// <param name="a_intID"> </param>
        public notepage GetTopic(int a_intID)
        {
            //
            // TODO: Add Constructor Logic here
            //
            


            //读取数据库
            myconn myConn = new myconn();
            
            SQLCommand myCommand = new SQLCommand() ;
            myCommand.ActiveConnection = myConn ;
            myCommand.CommandText = "n_GetTopicInfo" ;    //调用存储过程
            myCommand.CommandType = CommandType.StoredProcedure ;
            myCommand.Parameters.Add(new SQLParameter("a_intTopicID" , SQLDataType.Int)) ;
            myCommand.Parameters["a_intTopicID"].Value = a_intID ;

            notepage objNp = new notepage();
            try
            {    
                
                myConn.Open() ;
                SQLDataReader myReader ;
                myCommand.Execute(out myReader) ;
                if (myReader.Read())
                {
                    objNp.ID = (int)myReader["ID"] ;
                    objNp.Title = (string)myReader["Title"] ;
                    objNp.Author  = (string)myReader["Author"] ;
                    objNp.Content = (string)myReader["Content"];
                    objNp.adddate = (DateTime)myReader["adddate"];
                }
                

                
                //清场
                myReader.Close();
                myConn.Close() ;

            }
            catch(Exception e)
            {
                throw(new Exception("取贴子失败:" + e.ToString())) ;
            }
            return objNp;
            
        }

        /// <summary>
        ///
        /// 目的:将留言的内容入库
        ///
        /// 利用构造函数来传递信息
        ///
        /// </summary>
        /// <param name="n_Topic"> </param>
        public bool AddTopic(notepage n_Topic)
        {
            //
            // TODO: Add Constructor Logic here
            //
            
            //读取数据库
            myconn myConn = new myconn();
            
            SQLCommand myCommand = new SQLCommand() ;
            myCommand.ActiveConnection = myConn ;
            myCommand.CommandText = "n_addTopic" ;    //调用存储过程
            myCommand.CommandType = CommandType.StoredProcedure ;
            myCommand.Parameters.Add(new SQLParameter("a_strTitle" , SQLDataType.VarChar,100)) ;
            myCommand.Parameters["a_strTitle"].Value = n_Topic.Title ;

            myCommand.Parameters.Add(new SQLParameter("a_strAuthor" , SQLDataType.VarChar,50)) ;
            myCommand.Parameters["a_strAuthor"].Value = n_Topic.Author ;

            myCommand.Parameters.Add(new SQLParameter("a_strContent" , SQLDataType.VarChar,2000)) ;
            myCommand.Parameters["a_strContent"].Value = n_Topic.Content ;

            try
            {    
                
                myConn.Open() ;
                myCommand.ExecuteNonQuery() ;
                                
                //清场
                
                myConn.Close() ;

            }
            catch(Exception e)
            {
                throw(new Exception("取贴子失败:" + e.ToString())) ;
            }
            return true;
                
        

        }


        /// <summary>
        /// 取的贴子列表
        /// </summary>
        /// <remarks>
        /// 返回一个Topic数组
        /// </remarks>
        public ArrayList GetTopicList()
        {
            //定义一个forum数组做为返回值
            ArrayList arrForumList =new ArrayList() ;

            //从数据库中读取留言列表
            myconn myConn = new myconn();
            SQLCommand myCommand = new SQLCommand() ;
            myCommand.ActiveConnection = myConn ;
            myCommand.CommandText = "n_GetTopicList" ;    //调用存储过程
            myCommand.CommandType = CommandType.StoredProcedure ;

            try
            {
                myConn.Open() ;
                SQLDataReader myReader ;
                myCommand.Execute(out myReader) ;

                for (int i = 0 ; myReader.Read() ; i++)
                {
                    notepage objItem = new notepage() ;
                    objItem.ID = myReader["ID"].ToString().ToInt32() ;
                    objItem.Title = myReader["Title"].ToString() ;
                    objItem.Author = myReader["Author"].ToString() ;
                    objItem.adddate = myReader["adddate"].ToString().ToDateTime();    
                    objItem.Content = myReader["Content"].ToString();
                                                        
                    arrForumList.Add(objItem) ;
                }

                
                //清场
                myReader.Close();
                myConn.Close() ;

            }
            catch(SQLException e)
            {
                throw(new Exception("数据库出错:" + e.ToString())) ;
                //return null ;
            }

            return arrForumList ;
        }
            
    }
}

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: