表单内容提交到数据库案例

配置好Web.config,在configuration里面添加节点connectionStrings:

<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>
    <connectionStrings>
      <add name="connstr" connectionString="server=AAA;user id=sa;password=123;database=lesson"/>
    </connectionStrings>
</configuration>

写好MySqlHelper:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace MySqlHelper
{
    public class SQLHelper
    {
        private static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
        /// <summary>
        /// 连接数据库
        /// </summary>
        /// <returns></returns>
        public static SqlConnection CreateConnection()
        {
            SqlConnection conn = new SqlConnection(connstr);
            conn.Open();
            return conn;
        }
        /// <summary>
        /// 返回受影响行数
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery(SqlConnection conn, string sql, params SqlParameter[] parameters)
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteNonQuery();
            }
        }
        /// <summary>
        /// 按现有连接,返回受影响行数
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = CreateConnection())
            {
                return ExecuteNonQuery(conn,sql,parameters);
            }
        }
        /// <summary>
        /// 返回第一行第一条数据
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static object ExecuteScalar(SqlConnection conn, string sql, params SqlParameter[] parameters)
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteScalar();
            }
        }
        /// <summary>
        /// 按现有连接,返回第一行第一条数据
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = CreateConnection())
            {
                return ExecuteScalar(conn,sql,parameters);
            }
        }
        /// <summary>
        /// 返回多条数据
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static DataTable ExecuteReader(SqlConnection conn, string sql, params SqlParameter[] parameters)
        {
            DataTable table = new DataTable();
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                cmd.Parameters.AddRange(parameters);
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    table.Load(reader);
                }
            }
            return table;
        }
        /// <summary>
        /// 按现有连接,返回多条数据
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static DataTable ExecuteReader(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = CreateConnection())
            {
                return ExecuteReader(conn,sql,parameters);
            }
        }

    }
}

html代码:

<form action="Text1.ashx" method="get">
    姓名:<input type="text" name="username" value="" />
    </p>
    年龄:<input type="text" name="age" value="" />
    </p>
    <input type="checkbox" name="ch1" value="true" />是否富二代
    </p>
    专业:<select name="se1">
        <option value="计算机">计算机</option>
        <option value="管理学">管理学</option>
        <option value="化学">化学</option>
        <option value="机械">机械</option>
    </select>
    </p>
    性取向:<input type="radio" name="ra1" value="喜欢男" />喜欢男
            <input type="radio" name="ra1" value="喜欢女的" />喜欢女的
            <input type="radio" name="ra1" value="通吃" />通吃
    </p>
    <input type="submit" name="btn" value="保存" />
</form>

一般处理程序代码:

context.Response.ContentType = "text/html";
string username = context.Request["username"];
int age = Convert.ToInt32(context.Request["age"]);
bool gener = Convert.ToBoolean(context.Request["ch1"]);
string prof = context.Request["se1"];
string sex = context.Request["ra1"];
int r = SQLHelper.ExecuteNonQuery("insert into Users(username,age,gener,prof,sex) values(@username,@age,@gener,@prof,@sex)",
    new SqlParameter("@username",username),
    new SqlParameter("@age", age),
    new SqlParameter("@gener", gener),
    new SqlParameter("@prof", prof),
    new SqlParameter("@sex", sex));
if (r > 0)
{
    context.Response.Write("插入成功");
}
else
{
    context.Response.Write("插入失败");
}
时间: 2024-10-08 09:04:56

表单内容提交到数据库案例的相关文章

webform快速创建表单内容文件--oracle 数据库

使用方法 前台页面这样写就足够了 <form class="stdform" runat="server"> <div id="field_tab_content" runat="server"></div> </form> 新增编辑加载页面(改页面需要继承CreateModel类) Type type; public decimal id = 0; protected void

7、struts2 案例( 模型驱动、 防止表单重复提交--拦截器 、数据回显 、值栈 、 OGNL表达式综合运用)

struts2 案例 技术点: 模型驱动 防止表单重复提交–拦截器 数据回显 值栈 OGNL表达式 通配符.路径匹配原则.常量 数据处理的集中方式 请求数据自动封装以及类型转换 1.导包 c3p0-0.9.1.2.jar commons-dbutils-1.6.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.j

[原创]java WEB学习笔记34:Session 案例 之 解决表单重复提交

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

session案例:防止表单重复提交、一次性校验码

session案例1:防止表单重复提交 原理: 1,表单页面由servlet程序生成,servlet为每次产生的表单页面分配一个唯一的随机标识号,并在FORM表单的一个隐藏字段中设置这个标识号,同时在当前用户的Session域中保存这个标识号. 2,当用户提交FORM表单时,负责处理表单提交的serlvet得到表单提交的标识号,并与session中存储的标识号比较,如果相同则处理表单提交,处理完后清除当前用户的Session域中存储的标识号. 3,在下列情况下,服务器程序将拒绝用户提交的表单请求

form表单submit提交内容,跟ajax异步提交form表单的区别,

因为开发一个小细节,本来是上传文件,填写文件名进行ajax提交,但是没有获取到文件的绝对地址, 所以使用了form表单提交文件,然后又觉得form表单+ajax提交联系起来比较好,不用改动太多代码. 区别: Form表单提交:一般都会进行页面跳转: Ajax异步提交:可以不进行页面跳转: Form表单提交 <body> <div id="forms”> <form id="form1" action="/users/login"

表单重复提交--笔记

同一个表单中的内容多次提交到服务器中. 第一种情况:    提交完表单以后,不做其他操作,直接刷新页面,表单会提交多次.    - 这种情况产生的根本原因是,Servlet处理完请求以后,直接转发到目标页面.    - 这样整一个业务,只发送了一次请求,那么当你在浏览器中点击刷新按钮或者狂按f5会一直都会刷新之前的请求 解决方案:     使用重定向跳转到目标页面 第二种情况:    在提交表单时,如果网速较差,可能会导致点击提交按钮多次,这种情况也会导致表单重复提交.    - 产生的原因:是

重置表单和提交表单中遇到的小问题

function hidden_edit(){ //隐藏编辑店员 $(".form-horizontal")[0].reset(); //重置的表单中 name值必须和数据库的name值相对应,在按返回键时,才能重置表单内容,如果某一项name的不能重置,那就说明数据库中没有此项name值 $(".y-edit").css("display","none"); $(".y-clerk").css("

织梦如何自定义表单客户提交后如何发到自己邮箱?

织梦网站自定义表单设置好后会提交到后台,但是很多管理员不会经常注意到信息,所以我现在给大家分享一下将自定义表单信息提交到指定邮箱: 1.首先在织梦网站后台,进入系统--系统基本参数--核心设置里面,如下图: 将红色标注的填写为自己的邮箱帐号(同一个账号哦) 2.打开网站根目录下的plus文件夹,里面有个diy.php文件(表单提交后处理文件),打开它,在85行上下有如下代码: $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $a

Django框架开发中避免表单重复提交

Form表单做为web2.0时代的重要角色,也是我们与web网站进行数据交互的重要渠道,但是大家在web网站开发过程中,都会遇到一个问题,那就是如何避免表单重复提交,我们可不确定用户可在提交了一个表单后,是否有足够的耐心等待我们的程序加载完成,如果此时用户不耐烦的在前台重复刷新页面,那么就会造成数据重复提交.信息不准确,因此我们在程序设计时一定要规避这样的问题,接下来介绍一下在Django框架开发中如何避免此问题. 首先说明一下Http协议中两种非常常见的方法GET和POST. 1.GET方法往