深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

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


March 25,2004
首先要感谢bigeagle的帮助,这个也是参考她的bbs做成的
留言板分三个模块:列出留言列表、显示详细内容、发表留言
notepage.cs
namespace notpage
{
    using System;
    using System.Data.SQL ;
    using System.Data ;
    using System.Collections ;
    </P><P>        
    ////////////////////////////////////////////////////////////////////
    //
    // Class Name :       留言板
    //
    // Description:       构造一个留言板对象
    //
    // date:              2000/06/06
    //
    // 作者:              天啦
    /// ////////////////////////////////////////////////////////////////</P><P>
    /// <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 ;        //留言时间</P><P>        
        //属性
    </P><P>        public int ID
        {
            get
            {
                return n_intID ;
            }
            set
            {
                n_intID = value;
            }
        }</P><P>        public string Title
        {
            get
            {
                return n_strTitle ;
            }
            set
            {
                n_strTitle = value;
            }
        }</P><P>        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;
            
        }</P><P>        /// <summary>
        ///
        /// 取得留言的内容
        ///
        /// </summary>
        /// <param name="a_intID"> </param>
        public notepage GetTopic(int a_intID)
        {
            //
            // TODO: Add Constructor Logic here
            //
            </P><P>
            //读取数据库
            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 ;</P><P>            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"];
                }
                </P><P>               
                //清场
                myReader.Close();
                myConn.Close() ;</P><P>            }
            catch(Exception e)
            {
                throw(new Exception("取贴子失败:" + e.ToString())) ;
            }
            return objNp;
            
        }</P><P>        /// <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 ;</P><P>            myCommand.Parameters.Add(new SQLParameter("@a_strAuthor" , SQLDataType.VarChar,50)) ;
            myCommand.Parameters["@a_strAuthor"].Value = n_Topic.Author ;</P><P>            myCommand.Parameters.Add(new SQLParameter("@a_strContent" , SQLDataType.VarChar,2000)) ;
            myCommand.Parameters["@a_strContent"].Value = n_Topic.Content ;</P><P>            try
            {   
               
                myConn.Open() ;
                myCommand.ExecuteNonQuery() ;
                                
                //清场
               
                myConn.Close() ;</P><P>            }
            catch(Exception e)
            {
                throw(new Exception("取贴子失败:" + e.ToString())) ;
            }
            return true;
               
        </P><P>        }</P><P>
        /// <summary>
        /// 取的贴子列表
        /// </summary>
        /// <remarks>
        /// 返回一个Topic数组
        /// </remarks>
        public ArrayList GetTopicList()
        {
            //定义一个forum数组做为返回值
            ArrayList arrForumList =new ArrayList() ;</P><P>            //从数据库中读取留言列表
            myconn myConn = new myconn();
            SQLCommand myCommand = new SQLCommand() ;
            myCommand.ActiveConnection = myConn ;
            myCommand.CommandText = "n_GetTopicList" ;    //调用存储过程
            myCommand.CommandType = CommandType.StoredProcedure ;</P><P>            try
            {
                myConn.Open() ;
                SQLDataReader myReader ;
                myCommand.Execute(out myReader) ;</P><P>                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) ;
                }</P><P>               
                //清场
                myReader.Close();
                myConn.Close() ;</P><P>            }
            catch(SQLException e)
            {
                throw(new Exception("数据库出错:" + e.ToString())) ;
                //return null ;
            }</P><P>            return arrForumList ;
        }
            
    }
}

       
       
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved