为.net training 活动准备的程序,按照前期在的计划中要求的来编写:

【cnBlogsGuestBook v1.0】 :
采用CodeBehind模式,当成asp来用。重点放在如何让大家能理解CodeBehind模式。我的代码基本都写在了inherits的.cs文件里面,只要程序能运行无误,达到目的即可。

程序演示地址:http://www.sim-crea.com/test/default.aspx
程序下载地址:https://files.cnblogs.com/lovewangshu/cnblogsGuestbook.rar

程序主要代码:
1。显示数据库中的帖子:

private void Page_Load(object sender, System.EventArgs e)
        
{
            
//建立数据库路径存储字符串
            string dbname;
            
//SQL语句字符串
            string strSQL;
            
            dbname
=Server.MapPath(@"data0621/database.mdb");
            
//建立一个连接数据库用的Connection
            OleDbConnection conn=new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+dbname);
            
//打开这个连接
            conn.Open();
            
            strSQL
="select * from tbl_msg";
            DataSet ds
=new DataSet();
            OleDbDataAdapter myAdapter
=new OleDbDataAdapter(strSQL,conn);
            
            
//将数据填如DataSet对象中
            myAdapter.Fill(ds,"tbl_msg");
            
//dt中存ds中表tbl_msg的内容
            DataTable dt=ds.Tables["tbl_msg"];
            
            
//循环显示所有的留言信息
            string strResponse="";
            
for(int i=0;i<dt.Rows.Count;i++)
            
{
                strResponse
="";
                strResponse
="<TABLE id='Table1' cellSpacing='1' cellPadding='1' width='80%' border='1'>";
                strResponse
+="<TR>";
                strResponse
+="<TD>";
                
//帖子的title
                strResponse+=dt.Rows[i]["msg_title"];
                strResponse
+="</TD>";
                strResponse
+="</TR>";
                strResponse
+="<TR>";
                strResponse
+="<TD>";
                
//帖子的content
                strResponse+=dt.Rows[i]["msg_content"];
                strResponse
+="</TD>";
                strResponse
+="</TR>";
                strResponse
+="<TR>";
                strResponse
+="<TD align='right'>";
                strResponse
+="<a href='del.aspx?id="+dt.Rows[i]["msg_id"]+"'>删除|暂时不可用</a>";
                strResponse
+="</TD>";
                strResponse
+="</TR>";
                strResponse
+="</TABLE><br />";

                Response.Write(strResponse);
            }

            
            
//显示完毕后关闭连接
            conn.Close();
            
            
//发帖子的表格我们使用asp.net的服务器控件
        }

2。发贴的代码:
private void btnSubmit_Click(object sender, System.EventArgs e)
        
{
            
//提交数据操作
            
//当然,首先要判断的数据的合法性
            if(txtboxTitle.Text==""||txtboxContent.Text=="")
            
{
                Response.Write(
"<font color='red'>title和content都不能为空</font>");
            }

            
else
            
{
                
string dbname;
                
string strSQL;
                dbname
=Server.MapPath(@"data0621/database.mdb");
                OleDbConnection conn
=new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+dbname);
                conn.Open();
                strSQL
="select msg_title,msg_content,msg_time from tbl_msg";
                OleDbDataAdapter myAdapter
=new OleDbDataAdapter(strSQL,conn);
                OleDbCommandBuilder cb
=new OleDbCommandBuilder(myAdapter);
                DataSet dss
=new DataSet();
                myAdapter.Fill(dss,
"tbl_msg");
                
//添加一行
                DataRow newRow=dss.Tables["tbl_msg"].NewRow();
                newRow[
"msg_title"]=txtboxTitle.Text;
                newRow[
"msg_content"]=txtboxContent.Text;
                newRow[
"msg_time"]=DateTime.Now.ToString();
                dss.Tables[
"tbl_msg"].Rows.Add(newRow);
                
//更新数据
                myAdapter.Update(dss,"tbl_msg");
                
//关闭连接
                conn.Close();
                
//因为不是Submit按钮,所以不能使页面刷新,利用asp里的思路,让浏览器刷新一下:-)
                Response.Redirect("default.aspx");
            }

        }

平台:
Windows Server 2003 Enterprise Edtion (中文版)
Visual Studio.net 2003 Version 7.1.3091
.net Framework 1.1 Version 1.1.4322 SP1
posted on 2005-03-04 18:08  维生素C.NET  阅读(2953)  评论(5)    收藏  举报