找回密码
 注册
搜索
热搜: 回贴

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

2009-12-13 13:36| 发布者: admin| 查看: 55| 评论: 0|原作者: 冰淇淋

◎留言板分三个模块:列出留言列表、显示详细......


留言板分三个模块:列出留言列表、显示详细内容、发表留言
notepage.cs
namespace notpage
{
using System;
using System.Data.SQL ;
using System.Data ;
using System.Collections ;


///
/// Summary description for notepage.
///



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;

}

///
///
/// 取得留言的内容
///
///

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

}

///
///
/// 目的:将留言的内容入库
///
/// 利用构造函数来传递信息
///
///

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



}


///
/// 取的贴子列表
///

///
/// 返回一个Topic数组
///

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 ;

///


/// Summary description for myconn.
///

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 = "" ;
}
}
}
添加留言addTopic.aspx
<%@ Page language="c#" Codebehind="AddTopic.cs"
AutoEventWireup="false" Inherits="notpage.AddTopic" %>














留言主题: columns="65">
姓名: columns="20">
留言内容 columns="50" rows="20" TextMode="MultiLine">id=btnSubmit runat="Server"
text="确认">


对应的cs
namespace notpage
{
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

///


/// Summary description for AddTopic.
///

public class AddTopic : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtContent;
protected System.Web.UI.WebControls.TextBox txtAuthor;
protected System.Web.UI.WebControls.TextBox txtTitle;
protected System.Web.UI.WebControls.Button btnSubmit;

public AddTopic()
{
Page.Init += new System.EventHandler(Page_Init);
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//
// Evals true first time browser hits the page
//
}
}

protected void Page_Init(object sender, EventArgs e)
{
//
// CODEGEN: This call is required by the ASP+ Windows Form Designer.
//
InitializeComponent();
}

///


/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///

private void InitializeComponent()
{
btnSubmit.Click += new System.EventHandler (this.OnSubmit);
this.Load += new System.EventHandler (this.Page_Load);
}
public void OnSubmit(Object sender , EventArgs e)
{


if (Page.IsValid)
{
//数据入库
try
{

notepage objNp = new notepage();
objNp.Title = txtTitle.Text;
objNp.Author = txtAuthor.Text;
objNp.Content = txtContent.Text;
objNp.adddate = System.DateTime.Now;
notepage objNp1 = new notepage();
if(objNp1.AddTopic(objNp))
{

Response.Write ("

成功留言,
点击此处查看留言列表!。

") ;
}
}
catch(Exception exp)
{
#if DEBUG
Response.Write ("出现异常:" + exp.Message) ;
return ;
#endif//DEBUG

}
}


}

}
}

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 21:20 , Processed in 0.185607 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部