您的位置:首页 > 编程语言 > C#

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

2012-01-29 11:16 405 查看
首先要感谢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 = "http://www.89900.com" ;

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("在http://www.gw005.com取贴子失败:" + 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 ;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: