首页 > 开发 > 综合 > 正文

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

2024-07-21 02:17:47
字体:
来源:转载
供稿:网友
,欢迎访问网页设计爱好者web开发。 

留言板分三个模块:列出留言列表、显示详细内容、发表留言
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 ;
}

}
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表