日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简易在线留言板(上)——树洞留言板

發布時間:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简易在线留言板(上)——树洞留言板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡易在線留言板(上)

本文章屬于原創,如若轉載請標明出處:
http://blog.csdn.net/FlorenceZKY/article/details/74295704
?本系統開發的是一個極簡易的三層架構的在線留言板。系統的開發軟件是Visual Studio2013,開發環境是Windows7,瀏覽器是Chrome(谷歌瀏覽器)。

一、數據庫

1、數據庫目錄

?該數據庫建立在由學校提供的服務器上,鏈接代碼在接下來的代碼中說明。

2、數據庫表設計

?Users表(用戶表,標注:user不能作為表名和屬性名,因為user是關鍵字,這里容易出錯。)

?Mess表(留言表)

二、項目設計

1、項目目錄


2、項目簡要說明

(1)實體層Entity:User.cs、EntBlog.cs
(2)數據訪問層Dal:SQLHelper.cs、DalUser.cs、DalBlog.cs
(3)業務邏輯層Bll:bllUsers.cs、bllBlog.cs
(4)客戶端:WebApp:
?①CSS文件:
? pic照片文件

? ②母版頁:Main.Master(當時是作業要求,但是我只是設置了一個空的母版頁,所以這個文件存不存在都無所謂)
? ③主界面:index.aspx
?④登錄、注冊、修改密碼界面:Login.aspx、Register.aspx、UpdatePassword.aspx
? ⑤管理員界面:AdminPage.aspx、AdminUserPage.aspx
? ⑥普通用戶界面:EditBlog.aspx、MyBlog.aspx

3、代碼內容

(1)Entity層:
Users.cs(實體用戶)

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Entity {public class EntUsers{public string Username{get;set; }public String Password{get;set;}} }

Mess.cs(實體留言)

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Entity {public class EntBlog{public string Username{get;set;}public string Message{get;set;}public DateTime Time{get;set;}} }

Dal層:
SqlHelper.cs

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Configuration;namespace Dal {public static class SqlHelper{private static string strCn = ConfigurationManager.ConnectionStrings["AppConn"].ConnectionString;public static SqlDataReader ExecuteReader(string strSql, params SqlParameter[] pms){try{SqlConnection cn = new SqlConnection(strCn);cn.Open();SqlDataReader dtr = null;using (SqlCommand cmd = new SqlCommand(strSql, cn)){if (pms != null) cmd.Parameters.AddRange(pms);dtr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//查找完成后關閉連接}return dtr;}catch (Exception ex){throw ex;}}public static object ExecuteScalar(string strSql, params SqlParameter[] pms){try{object obj = null;using (SqlConnection cn = new SqlConnection(strCn)){cn.Open();using (SqlCommand cmd = new SqlCommand(strSql, cn)){if (pms != null) cmd.Parameters.AddRange(pms);obj = cmd.ExecuteScalar();}}return obj;}catch (Exception ex){throw ex;}}public static int ExecuteNonQuery(string strSql, params SqlParameter[] pms){try{int intResult = 0;using (SqlConnection cn = new SqlConnection(strCn)){cn.Open();using (SqlCommand cmd = new SqlCommand(strSql, cn)){if (pms != null) cmd.Parameters.AddRange(pms);intResult = cmd.ExecuteNonQuery();}}return intResult;}catch (Exception ex){throw ex;}}public static DataSet ExecuteQuery(string strSql){using (SqlConnection cn = new SqlConnection(strCn)){DataSet ds = new DataSet();try{cn.Open();using (SqlCommand cmd = new SqlCommand(strSql, cn)){SqlDataAdapter da = new SqlDataAdapter(cmd);da.Fill(ds, "ds");}}catch (Exception ex){throw ex;}return ds;}}} }

DalUser.cs(用戶數據訪問層)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entity; using System.Data; using System.Data.SqlClient;namespace Dal {public class DalUsers{public bool Create(EntUsers Users, out string strMsg)//創建用戶{bool blnRet = false;try {StringBuilder sb = new StringBuilder(1024);sb.Append("INSERT INTO Users");sb.Append("(Username,Password)");sb.Append("Values (@Username,@Password)");SqlParameter[] pms = new SqlParameter[2];pms[0] = new SqlParameter("@Username", Users.Username);pms[1] = new SqlParameter("@Password", Users.Password);blnRet = SqlHelper.ExecuteNonQuery(sb.ToString(), pms) > 0;strMsg = blnRet ? "成功創建:“" + Users.Username + " ”用戶!" : "用戶添加失敗!請檢查書寫! ";}catch (Exception ex){strMsg = "數據操作錯誤:" + ex.Message;}return blnRet;}public bool Exists(string Username, out string strMsg)//檢查是否存在用戶{bool blnRet = false;try{StringBuilder sb = new StringBuilder(1024);sb.Append("SELECT COUNT(*) AS cnt ");sb.Append("FROM Users ");sb.Append("WHERE (Username= @Username) ");SqlParameter[] pms = new SqlParameter[1];pms[0] = new SqlParameter("@Username", Username);blnRet = (int)SqlHelper.ExecuteScalar(sb.ToString(), pms) > 0;strMsg = "";}catch (Exception ex){strMsg = "操作錯誤:" + ex.Message;}return blnRet;}public bool Login(EntUsers Users, out string strMsg)//用戶登錄{bool blnRet = false;try{StringBuilder sb = new StringBuilder(1024);sb.Append("SELECT * ");sb.Append("FROM Users ");sb.Append("WHERE (Username = @Username) AND (Password = @Password) ");SqlParameter[] pms = new SqlParameter[2];pms[0] = new SqlParameter("@Username", Users.Username);pms[1] = new SqlParameter("@Password", Users.Password);object obj = SqlHelper.ExecuteScalar(sb.ToString(), pms);if (obj != null)blnRet = true;strMsg = "";}catch (Exception ex){strMsg = "數據操作錯誤:" + ex.Message;}return blnRet;}public bool Update(EntUsers Users, out string strMsg)//更新用戶信息(修改密碼){bool blnRet = false;try { StringBuilder sb = new StringBuilder(1024);sb.Append("UPDATE Users ");sb.Append("SET Password = @Password ");sb.Append("WHERE (Username = @Username) ");SqlParameter[] pms = new SqlParameter[2];pms[0] = new SqlParameter("@Password", Users.Password);pms[1] = new SqlParameter("@Username", Users.Username);blnRet = SqlHelper.ExecuteNonQuery(sb.ToString(), pms) > 0;strMsg = blnRet ? "密碼修改成功成功!" : "密碼修改失敗,請檢查是否有錯!";}catch (Exception ex){strMsg = "數據操作錯誤:" + ex.Message;}return blnRet;}} }

DalBlog.cs(留言數據訪問層)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entity; using System.Data; using System.Data.SqlClient;namespace Dal {public class DalBlog{public bool Create(EntBlog Blog, out string strMsg)//創建留言{bool blnRet = false;try{StringBuilder sb = new StringBuilder(1024);sb.Append("INSERT INTO Mess");sb.Append("(Username,Mess,Time)");sb.Append("Values (@Username,@Mess,@Time)");SqlParameter[] pms = new SqlParameter[3];pms[0] = new SqlParameter("@Username", Blog.Username);pms[1] = new SqlParameter("@Mess", Blog.Message);pms[2] = new SqlParameter("@Time", Blog.Time);blnRet = SqlHelper.ExecuteNonQuery(sb.ToString(), pms) > 0;strMsg = blnRet ? "成功發布您的留言!" : "發布失敗,請過一會再發布! ";}catch (Exception ex){strMsg = "數據操作錯誤:" + ex.Message;}return blnRet;}} }

Bll層:
bllUser.cs(用戶邏輯業務層)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entity; using Dal; using System.Data; using System.Data.SqlClient;namespace Bll {public class bllUsers{private DalUsers dal = new DalUsers();public bool Create(EntUsers users,out string strMsg)//創建用戶{bool blnRet = false;//檢查Username有沒重名if (dal.Exists(users.Username, out strMsg))strMsg = (strMsg.Length > 0) ? strMsg : "創建失敗!已有用戶名稱: " + users.Username;elseblnRet = dal.Create(users, out strMsg);return blnRet;}public bool Login(EntUsers users,out string strMsg)//用戶登錄{bool blnRet = dal.Login(users, out strMsg);strMsg = (blnRet) ? "OK" : ((strMsg.Length > 0) ? strMsg : "登錄出錯!請檢查用戶名和密碼輸入是否正確!");return blnRet;}public bool Update(EntUsers users,out string strMsg)//更新密碼{return dal.Update(users,out strMsg);}} }

bllBlog.cs(留言業務邏輯層)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entity; using Dal; using System.Data; using System.Data.SqlClient;namespace Bll {public class bllBlog{private DalBlog dal=new DalBlog();public bool Create(EntBlog entBlog, out string strMsg){bool blnRet=false;blnRet = dal.Create(entBlog, out strMsg);return blnRet;}} }

此處內容太多,為了容易查看,請看我博客的 簡易在線留言板(中)。。。

總結

以上是生活随笔為你收集整理的简易在线留言板(上)——树洞留言板的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。