一个简单的ASP+留言板程序

发表于:2007-06-30来源:作者:点击数: 标签:
这是我第一次写,还请大家多指教 只看了一天的CSharp就蠢蠢欲试,参考了NGWS的帮助文档,写了个留言板小程序。 本程序使用SQL SERVER7,库里只有4个字段: [GuestBook] book_id UserName Post_Time Content 因为对CSharp掌握还不好,写得有点乱,其实很多地
这是我第一次写,还请大家多指教
只看了一天的CSharp就蠢蠢欲试,参考了NGWS的帮助文档,写了个留言板小程序。
本程序使用SQL SERVER7,库里只有4个字段:

[GuestBook]
book_id
UserName
Post_Time
Content

因为对CSharp掌握还不好,写得有点乱,其实很多地方可以写得简单点。输出数据时可以使用不同的方法,我是用了
服务器自带的控件Repeater来输出;还可以用getString的方法读取数据。值得研究的地方还有很多哦,呵呵~

另外没有对数据检查,微软的文档上有说有一个服务器端的检查控件,其实有好几个,很复杂,太多E文了,我还在
看,谁要是有使用经验不妨教我一把。

顺便说一声,NGWS文档里面的东西好多错误,真见鬼! :(

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>
<%@page responseencoding="gb2312" %>

<script language="C#" runat="server">

void Page_Load(Object semder, EventArgs e) {

SQLConnection myConnection = new SQLConnection
("server=sowen;uid=guestbook;pwd=guestbook;database=guestbook");
SQLDataReader myreader;

if (Request.QueryString["action"]=="del") {
String delCmd = "Delete From GuestBook Where book_id=" + Request.QueryString["book_id"];
SQLCommand myDelCommand = new SQLCommand(delCmd.ToString(),myConnection);
myDelCommand.ActiveConnection.Open();

myDelCommand.Execute(out myreader);
Message.InnerHtml = "<B>删除留言!</B>";

myDelCommand.ActiveConnection.Close();
}

if (Request.Form["action"]=="save") {
String insertCmd = "Insert Into GuestBook(UserName,Post_time,Content) Values(‘’" + Request.Form
["UserName"] + "‘’,‘’" + DateTime.Now + "‘’,‘’" + Request.Form["Content"] + "‘’)";

SQLCommand myInsertCommand = new SQLCommand(insertCmd.ToString(),myConnection);
myInsertCommand.ActiveConnection.Open();

//int rowsAffected = 0;
myInsertCommand.Execute(out myreader);
Message.InnerHtml = "<B>留言成功!</B>";

myInsertCommand.ActiveConnection.Close();

}

SQLDataSetCommand myCommand = new SQLDataSetCommand("select * from GuestBook Order By post_time
DESC", myConnection);
DataSet ds = new DataSet();
myCommand.FillDataSet(ds, "UserName");

MyDataList.DataSource = ds.Tables["UserName"].DefaultView;
MyDataList.DataBind();
}


//Boolean Check_it(Object Sender) {
// if (Sender.Value=="") return False;
//}
</script>
<html>
<body>
<title>留言板</title>
<center>

<table>

<div id=Message runat=server></div>
<p><a href="guest.aspx">刷新</a></p>
<form action=guest.aspx method=post>
<tr><td>大名:</td><td><input type=text name=UserName size=10></td></tr>
<tr><td valign=top>留言:</td><td><textarea colspan=30 rows=4 name=content></textarea></td></tr>
<tr><td colspan=2><input type=submit value="保存"></td></tr>
<input type=hidden name=action value=save>
</table>
</form>
<table>

<ASP:Repeater id="MyDataList" runat="server">

<template name="itemtemplate">

<tr>
<td>大名:</td><td><%# DataBinder.Eval(Container.DataItem, "UserName") %>&nbsp;&nbsp;<a
href="guest.aspx?action=del&book_id=<%# DataBinder.Eval(Container.DataItem, "book_id") %>">删除留言
</a></td>
</tr>
<tr>
<td>留言时间:</td><td><%# DataBinder.Eval(Container.DataItem, "Post_Time") %></td>
</tr>
<tr>
<tD>留言内容:</td><td><%# DataBinder.Eval(Container.DataItem, "Content") %></td>
</tr>
<tr><td colspan=2 height=10></td></tr>
<tr><td colspan=2 height=1 bgcolor=black></td></tr>
<tr><td colspan=2 height=10></td></tr>
</template>

</ASP:Repeater>

</table>
</body></html>

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