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);
}
}
}
分享到:
相关推荐
开发者通常会使用ADO(ActiveX Data Objects)来连接和操作Access数据库,包括创建SQL查询来获取、添加、更新或删除数据。在这个留言板系统中,用户提交的留言会被存储到Access数据库的GuestBook表中,后台管理页面...
本教程将详细讲解如何进行Access数据库的查看、修改、添加和删除操作。 一、Access数据库查看 1. 打开Access数据库:双击Access文件(扩展名为.mdb或.accdb)即可启动Access并打开数据库。如果使用的是Access_View...
5. **操作数据库**: - **插入数据**:使用Command对象的Execute方法执行INSERT语句,向数据库添加新留言。 - **查询数据**:使用SELECT语句获取记录,返回Recordset对象,然后遍历显示留言。 - **更新数据**:...
通过这些模板,用户不仅可以立即应用到实际工作或生活中,还可以学习到Access的基本操作和数据库设计原理,提高数据管理和分析能力。同时,对Access的深入理解,如SQL语言、窗体设计、报表生成、宏和VBA编程,都能在...
在这个"web标准 asp+Access数据库简单留言板"示例中,ASP被用来创建一个用户可以提交留言并查看他人留言的功能。 Access数据库是Microsoft Office套件的一部分,它是一个轻量级的关系型数据库管理系统,适用于小型...
Access提供了用户友好的界面和强大的宏、VBA编程功能,使得非程序员也能进行复杂的数据库操作和定制化开发。 总的来说,Access数据库经典模板提供了一套完整的数据库解决方案,涵盖了日常管理中的常见场景。无论是...
作者:我心依然。 QQ:191194978 演示地址。http://huanghai945.host24.web-73.com 基于第一次源码后的修改版。 后台管理文件。login.asp用户和密码都是:admin 只供个人学习用。不要用于商业用途。
【ACCESS数据库留言板程序】是一种基于ACCESS数据库和ASP(Active Server Pages)语言开发的交互式网站应用。ACCESS数据库作为数据存储的后端,负责管理和组织用户留言的信息,而ASP则作为前端,通过脚本语言实现与...
【标题】"人力资源Access数据库模板"提供了一套实用的数据管理工具,特别适合那些在人力资源领域工作的专业人士。Access作为Microsoft Office套件的一部分,是一款强大的数据库管理系统,它允许用户创建、管理和共享...
本教程将详细讲解如何在易语言环境中操作Access数据库,实现图片的添加与读取功能。 易语言是一种以“易”为理念的编程语言,它具有直观的语法和丰富的库支持,使得编程变得更加简单。在易语言中与Access数据库交互...
在编译和运行时,我们需要将变量添加到数据表中,并将数据写入到Access数据库中。在这里,我们可以使用力控的脚本语言,例如使用SQLInsert()函数来插入数据。 八、结果显示 在运行完毕之后,我们可以查看Access...
在Web应用程序中,如果你的目标用户主要使用IE浏览器,你可以利用JavaScript的ActiveXObject来实现对Access数据库的读取、添加、删除和修改操作。以下是对这些操作的详细说明: 1. **连接Access数据库**: - 首先...
在标题"JS操作ACCESS数据库"中,所提及的是利用JavaScript来操作Microsoft Access数据库的技术。Access是一款关系型数据库管理系统,它提供了ODBC(开放数据库连接)接口,使得其他编程语言,包括JavaScript,可以...
根据给定的信息,我们可以深入探讨以下几个关键的...综上所述,`OleDbHelper`类为C#应用程序提供了高效且灵活的方式以操作ACCESS数据库,通过封装最佳实践,简化了数据库操作的复杂性,提高了代码的可读性和可维护性。
Access数据库特殊器是一款专为Microsoft Access数据库设计的工具,它可能包含了用于管理和优化数据库的一系列功能。Access数据库是Microsoft Office套件的一部分,主要用于创建小型到中型企业级的关系型数据库应用。...
在力控中,我们可以将变量名添加到数据表中,并将其与Access数据库绑定。这将允许我们在力控中访问和控制Access数据库中的数据。 八、运行结果 在力控中,我们可以运行程序,查看运行结果,并检查Access数据库中的...
简单的通过JavaScript操控数据库实现留言板效果的一个实例,支持添加数据、删除数据、查询数据等功能
以上就是使用VB.NET操作ACCESS数据库的基本步骤。通过这些实例,初学者可以更好地理解和掌握数据库操作。如果你在实际应用中遇到问题或有疑问,欢迎与其他学习者交流,共同进步。 注意:在实际开发中,确保使用合适...
在本案例中,"asp写的留言板源代码 access做数据库" 指的是一个使用ASP编程语言编写的在线留言板应用程序,它利用Microsoft Access作为后端数据库来存储用户留言的数据。 ASP工作原理: ASP文件是包含HTML、脚本...
这是一个使用C#开发的Access数据库创建、操作的源码工程,关于Access的所有操作已经单独创建了专门的类库包含相应的帮助类,可以直接生成后拿到任何项目中直接使用,高效简单,省去了从头开发Acess数据库的时间,将...