`
zjthy
  • 浏览: 4404 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ACESS数据库添加留言板(单层数据库操作)

 
阅读更多
using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Web;
using System.Web.UI.WebControls;

namespace TraceLWord1.WebUI
{
	public partial class PostLWord : System.Web.UI.Page
	{
		// 用户昵称
		protected System.Web.UI.WebControls.TextBox m_aspNickName;
		// 用户密码
		protected System.Web.UI.WebControls.TextBox m_aspPassWord;
		// 留言内容
		protected System.Web.UI.WebControls.TextBox m_aspTextContent;
		// 发送命令按钮
		protected System.Web.UI.WebControls.Button m_aspPostCmd;

		protected void Page_Init(object sender, EventArgs e)
		{
			this.m_aspPostCmd.Click += new EventHandler(PostCmd_Click);
		}

		// 获取注册用户信息
		private const string SQL_GetRegUser = @"SELECT * FROM [RegUser] WHERE [NickName] = @NickName";
		// 注册新用户
		private const string SQL_Register = @"INSERT INTO [RegUser] ( [NickName], [PassWord] ) VALUES ( @NickName, @PassWord )";
		// 发送新留言
		private const string SQL_PostLWord = @"INSERT INTO [LWord] ( [FromUser], [TextContent] ) VALUES ( @FromUser, @TextContent )";

		// 发送留言信息到数据库
		private void PostCmd_Click(object sender, EventArgs e)
		{
			// 获取用户昵称
			string nickName = this.m_aspNickName.Text;
			// 获取用户密码
			string passWord = this.m_aspPassWord.Text;
			// 获取留言内容
			string textContent = this.m_aspTextContent.Text;

			// 用户昵称和密码不能为空
			if (String.IsNullOrEmpty(nickName) || String.IsNullOrEmpty(passWord))
				throw new Exception("用户昵称或密码为空");

			// 留言内容不能为空
			if (String.IsNullOrEmpty(textContent))
				throw new Exception("留言内容为空");

			// 用户是否已注册
			bool isRegistered = false;
			// 存于数据库中的用户密码
			string passWordInDB = null;
            //创建数据库链接
			OleDbConnection dbConn = new OleDbConnection(ConfigurationManager.ConnectionStrings["TraceLWordDB"].ConnectionString);
			//创建数据库命令
            OleDbCommand getRegUserDBCmd = new OleDbCommand(SQL_GetRegUser, dbConn);

			// 设置用户昵称
			getRegUserDBCmd.Parameters.Add("@NickName", OleDbType.VarWChar, 32).Value = nickName;

			try
			{
				dbConn.Open();
				OleDbDataReader dr = getRegUserDBCmd.ExecuteReader();

				if (dr.Read())
				{
					isRegistered = true;

					// 获取存于数据库中的用户密码
					passWordInDB = Convert.ToString(dr["PassWord"]);
				}
			}
			catch (Exception ex)
			{
				throw ex;
			}
			finally
			{
				dbConn.Close();
			}

			if (isRegistered)
			{
				// 如果用户已经注册,则比较用户密码
				if (String.Compare(passWord, passWordInDB) != 0)
					throw new Exception("用户密码错误");

				// 如果密码相同则添加留言信息
				// 
				OleDbCommand postLWordDBCmd = new OleDbCommand(SQL_PostLWord, dbConn);

				// 设置留言发送人昵称
				postLWordDBCmd.Parameters.Add("@FromUser", OleDbType.VarWChar, 32).Value = nickName;
				// 设置留言内容
				postLWordDBCmd.Parameters.Add("@TextContent", OleDbType.LongVarWChar).Value = textContent;

				try
				{
					dbConn.Open();
					postLWordDBCmd.ExecuteNonQuery();
				}
				catch (Exception ex)
				{
					throw ex;
				}
				finally
				{
					dbConn.Close();
				}
			}
			else
			{
				// 如果用户未注册,那么先注册新用户,然后添加留言
				// 
				dbConn.Open();

				try
				{
					OleDbCommand registerDBCmd = new OleDbCommand(SQL_Register, dbConn);

					// 设置用户昵称
					registerDBCmd.Parameters.Add("@NickName", OleDbType.VarWChar, 32).Value = nickName;
					// 设置用户密码
					registerDBCmd.Parameters.Add("@PassWord", OleDbType.VarWChar, 255).Value = passWord;

					registerDBCmd.ExecuteNonQuery();

					OleDbCommand postLWordDBCmd = new OleDbCommand(SQL_PostLWord, dbConn);

					// 设置留言发送人昵称
					postLWordDBCmd.Parameters.Add("@FromUser", OleDbType.VarWChar, 32).Value = nickName;
					// 设置留言内容
					postLWordDBCmd.Parameters.Add("@TextContent", OleDbType.LongVarWChar).Value = textContent;

					postLWordDBCmd.ExecuteNonQuery();
				}
				catch (Exception ex)
				{
					throw ex;
				}
				finally
				{
					dbConn.Close();
				}
			}

			// 跳转到留言显示页面
			Response.Redirect("ListLWord.aspx", true);
		}
	}
}

 

分享到:
评论

相关推荐

    web标准asp Access数据库简单留言板.rar

    开发者通常会使用ADO(ActiveX Data Objects)来连接和操作Access数据库,包括创建SQL查询来获取、添加、更新或删除数据。在这个留言板系统中,用户提交的留言会被存储到Access数据库的GuestBook表中,后台管理页面...

    Access数据库查看、Access数据库修改、Access数据库添加、Access数据库删除

    本教程将详细讲解如何进行Access数据库的查看、修改、添加和删除操作。 一、Access数据库查看 1. 打开Access数据库:双击Access文件(扩展名为.mdb或.accdb)即可启动Access并打开数据库。如果使用的是Access_View...

    留言板asp采用access 数据库

    5. **操作数据库**: - **插入数据**:使用Command对象的Execute方法执行INSERT语句,向数据库添加新留言。 - **查询数据**:使用SELECT语句获取记录,返回Recordset对象,然后遍历显示留言。 - **更新数据**:...

    Access数据库经典模板

    通过这些模板,用户不仅可以立即应用到实际工作或生活中,还可以学习到Access的基本操作和数据库设计原理,提高数据管理和分析能力。同时,对Access的深入理解,如SQL语言、窗体设计、报表生成、宏和VBA编程,都能在...

    web标准 asp+Access数据库简单留言板

    在这个"web标准 asp+Access数据库简单留言板"示例中,ASP被用来创建一个用户可以提交留言并查看他人留言的功能。 Access数据库是Microsoft Office套件的一部分,它是一个轻量级的关系型数据库管理系统,适用于小型...

    Access数据库经典模板.rar

    Access提供了用户友好的界面和强大的宏、VBA编程功能,使得非程序员也能进行复杂的数据库操作和定制化开发。 总的来说,Access数据库经典模板提供了一套完整的数据库解决方案,涵盖了日常管理中的常见场景。无论是...

    asp+Access数据库简单留言板

    作者:我心依然。 QQ:191194978 演示地址。http://huanghai945.host24.web-73.com 基于第一次源码后的修改版。 后台管理文件。login.asp用户和密码都是:admin 只供个人学习用。不要用于商业用途。

    ACCESS数据库留言板程序

    【ACCESS数据库留言板程序】是一种基于ACCESS数据库和ASP(Active Server Pages)语言开发的交互式网站应用。ACCESS数据库作为数据存储的后端,负责管理和组织用户留言的信息,而ASP则作为前端,通过脚本语言实现与...

    人力资源Access数据库模板

    【标题】"人力资源Access数据库模板"提供了一套实用的数据管理工具,特别适合那些在人力资源领域工作的专业人士。Access作为Microsoft Office套件的一部分,是一款强大的数据库管理系统,它允许用户创建、管理和共享...

    易语言access数据库中添加与读取图片

    本教程将详细讲解如何在易语言环境中操作Access数据库,实现图片的添加与读取功能。 易语言是一种以“易”为理念的编程语言,它具有直观的语法和丰富的库支持,使得编程变得更加简单。在易语言中与Access数据库交互...

    力控与access数据库.docx

    在编译和运行时,我们需要将变量添加到数据表中,并将数据写入到Access数据库中。在这里,我们可以使用力控的脚本语言,例如使用SQLInsert()函数来插入数据。 八、结果显示 在运行完毕之后,我们可以查看Access...

    js 读取 添加 删除 修改 Access数据库 完整例子

    在Web应用程序中,如果你的目标用户主要使用IE浏览器,你可以利用JavaScript的ActiveXObject来实现对Access数据库的读取、添加、删除和修改操作。以下是对这些操作的详细说明: 1. **连接Access数据库**: - 首先...

    JS操作ACCESS数据库

    在标题"JS操作ACCESS数据库"中,所提及的是利用JavaScript来操作Microsoft Access数据库的技术。Access是一款关系型数据库管理系统,它提供了ODBC(开放数据库连接)接口,使得其他编程语言,包括JavaScript,可以...

    ACCESS数据库类 ACCESS源码 C#ACCESS数据库操作 C#ACCESS数据库源

    根据给定的信息,我们可以深入探讨以下几个关键的...综上所述,`OleDbHelper`类为C#应用程序提供了高效且灵活的方式以操作ACCESS数据库,通过封装最佳实践,简化了数据库操作的复杂性,提高了代码的可读性和可维护性。

    Access数据库特殊器.zip

    Access数据库特殊器是一款专为Microsoft Access数据库设计的工具,它可能包含了用于管理和优化数据库的一系列功能。Access数据库是Microsoft Office套件的一部分,主要用于创建小型到中型企业级的关系型数据库应用。...

    力控与access数据库.pdf

    在力控中,我们可以将变量名添加到数据表中,并将其与Access数据库绑定。这将允许我们在力控中访问和控制Access数据库中的数据。 八、运行结果 在力控中,我们可以运行程序,查看运行结果,并检查Access数据库中的...

    数据库留言板.html

    简单的通过JavaScript操控数据库实现留言板效果的一个实例,支持添加数据、删除数据、查询数据等功能

    使用VB.NET对ACCESS数据库进行添加,删除,插入,修改,查询等用法

    以上就是使用VB.NET操作ACCESS数据库的基本步骤。通过这些实例,初学者可以更好地理解和掌握数据库操作。如果你在实际应用中遇到问题或有疑问,欢迎与其他学习者交流,共同进步。 注意:在实际开发中,确保使用合适...

    asp写的留言板源代码 access做数据库

    在本案例中,"asp写的留言板源代码 access做数据库" 指的是一个使用ASP编程语言编写的在线留言板应用程序,它利用Microsoft Access作为后端数据库来存储用户留言的数据。 ASP工作原理: ASP文件是包含HTML、脚本...

    使用C#开发的Access数据库创建、操作的源码项目工程

    这是一个使用C#开发的Access数据库创建、操作的源码工程,关于Access的所有操作已经单独创建了专门的类库包含相应的帮助类,可以直接生成后拿到任何项目中直接使用,高效简单,省去了从头开发Acess数据库的时间,将...

Global site tag (gtag.js) - Google Analytics