| 网站镜像:电信 网通 | 加入收藏 | 设为首页

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

  • 首先要感谢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 ;
            }
                
        }
    }