Skip to content
久久日记本
曾经年少爱追梦,一心只想往前飞
  • 首页
  • 博客
    • 博客历史
    • 主题
    • 个人文集
  • 关于
    • 正在读的书
    • 作品归档
    • 2018作品归档
    • 联系我
  • 友情链接
  • 留言板
❄
❅
❆
❄
❅
❆
❄
❅
❆
❄
.NET

用ado.net制作简单的用户留言板(2.后台)

Posted on 2011年5月12日 by 九九 / 1745 Views

后台代码:

“`asp.net
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
//using System.Data.Sql;
using System.Data.SqlClient;

public partial class LeaveMessage20110512 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}

protected void leaveMsgButton1_Click(object sender, EventArgs e)
{
    //打开数据库
    SqlConnection myCon = new SqlConnection();
    myCon.ConnectionString = ConfigurationManager.ConnectionStrings["leaveMessage20110512ConnectionString"].ToString();
    myCon.Open();
    using (SqlCommand myCmd = myCon.CreateCommand())
    {

        //myCmd.CommandText = "select * from leaveMessage20110512 where name='" + usernameTextBox2.Text + "'";
        //这行注释代码可以引起 黑客 对 后台代码 漏洞攻击,例如拼凑代码登录,故为了尽量提高安全性,改为如下查询方式。
        myCmd.CommandText = "select * from leaveMessage20110512 where [email protected]";
        myCmd.Parameters.Add(new SqlParameter("name", usernameTextBox2.Text));
        //myCmd.ExecuteReader();
        using (SqlDataReader myReader = myCmd.ExecuteReader())
        {
            if (myReader.Read())
            {
                //用户名存在
                string dbpassword = myReader.GetString(myReader.GetOrdinal("password"));
                if (passwordTextBox3.Text == dbpassword)
                {
                    //在同一个链接中,如果sqldatareader没有关闭,那么是不能执行updat之类语句
                    //string dbmessage = myReader.GetString(myReader.GetOrdinal("message"));
                    update();
                }
                else
                {
                    Response.Write("<script>alert('密码错误!')</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('必须输入正确的用户名和密码才能留言!')</script>");
            }
        }
    }
}
private void update()
{
    SqlConnection myCon = new SqlConnection();
    myCon.ConnectionString = ConfigurationManager.ConnectionStrings["leaveMessage20110512ConnectionString"].ToString();
    myCon.Open();
    {
        using (SqlCommand myupdateCmd = myCon.CreateCommand())
        {
            myupdateCmd.CommandText = "update leaveMessage20110512 set [email protected] where [email protected]";
            myupdateCmd.Parameters.Add(new SqlParameter("message", messageTextBox1.Text));
            myupdateCmd.Parameters.Add(new SqlParameter("name", usernameTextBox2.Text));
            myupdateCmd.ExecuteReader();
            Response.Write("成功留言!");
        }
    }
}

}
“`

效果展示:

可能出现的问题解决:
问题1:将截断字符串或二进制数据,语句已终止

问题2:已有打开的与此命令相关联的 DataReader,必须首先将它关闭

ASP.NET
九九
过去的我们,现在的自己,往事,终会随风而逝。 View all posts by 九九 →

Post navigation

Older post
用ado.net制作简单的用户留言板(1.界面)
Newer post
将截断字符串或二进制数据,语句已终止

标签云

2019ncov Android ASP.NET Baby C# C/C++ CSS Div DX11 flask front-end GAE Git Java JJProject JS Life MSSQL MVC OpenSource Oracle Python React React-Native Software Tools Vue Webpack Website Window WP7 乱记 十年旧梦 天气 宝宝成长日记 小说 工作 情感 故障 散文 日记 网新实训笔记 花落梧桐 诗间集 转载

时光机

  • 2023年3月
  • 2023年2月
  • 2022年12月
  • 2022年4月
  • 2022年3月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年5月
  • 2019年12月
  • 2019年10月
  • 2019年9月
  • 2019年6月
  • 2019年5月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年7月
  • 2017年3月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年7月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年8月
  • 2015年7月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年1月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年12月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月
  • 2011年2月
  • 2010年12月
  • 2010年11月
  • 2010年10月
  • 2010年9月
  • 2010年8月
  • 2010年6月
  • 2010年5月
  • 2010年2月
  • 2010年1月
  • 2009年12月
  • 2009年11月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2009年5月
  • 2009年4月
  • 2009年3月
  • 2009年2月
  • 2009年1月
  • 2008年8月
  • 2008年6月
  • 2008年5月
  • 2008年4月
  • 2008年2月
  • 2007年11月
  • 2007年8月
  • 2007年6月
  • 2007年5月
  • 2007年4月
  • 2007年3月
  • 2007年2月
  • 2007年1月
  • 2006年10月
  • 2006年8月
© 2006 - 2023 久久日记本
Powered by WordPress | Theme: Graphy for 99diary