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

发表于:2007-06-21来源:作者:点击数: 标签:
下一页 1 2 留言板分三个模块:列出留言列表、显示详细内容、发表留言 notepage.cs namespacenotpage { usingSystem; usingSystem.Data.SQL; usingSystem.Data; usingSystem.Collections; ///summary ///Summarydescriptionfornotepage. ////summarypubliccl

下一页 1 2 

   

留言板分三个模块:列出留言列表、显示详细内容、发表留言

notepage.cs

namespace  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  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  ;

}}}

myconn.cs

namespace  notpage

{

using  System;

using  System.Data.SQL  ;</P><P>  ///  <summary>

///  Summary  description  for  myconn.

///  </summary>

public  class  myconn:System.Data.SQL.SQLConnection

{

private  void  InitializeComponent  ()

{}

public  myconn()

{

//

//  TODO:  Add  Constructor  Logic  here

//

this.Database  =  "back"  ;

this.DataSource  =  "LUOCHANG"  ;

this.UserID  =  "sa"  ;

this.Password  =  ""  ;

}}}

原文转自:http://www.ltesting.net