利用c#制作简单的留言板留言板分三个模块:列出留言列表、显示详细内容、发表留言notepage.csnamespace notpage{using System;using System.Data.SQL ;using System.Data ;using System.Collections ;/// <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 Titleget{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 ;mandText = "n_GetTopicInfo" ; //调用存储过程mandType = 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 ;mandText = "n_addTopic" ; //调用存储过程mandType = 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 ;mandText = "n_GetTopicList" ; //调用存储过程mandType = 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 ;}}}。