注册按钮事件:

private void btnRegister_Click(object sender, EventArgs e)
{
string username = txtUserName.Text;
string userpwd = txtUserPwd.Text;
string tel = txtTel.Text;
string email = txtEmail.Text;
string name = txtName.Text;
int dept = Convert.ToInt32(txtDept.Text);
if (string.IsNullOrEmpty(username) && string.IsNullOrEmpty(userpwd))
{
MessageBox.Show("用户名和密码不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
string sql = "INSERT INTO [UserInfo]([username],[userpwd],[name],[deptId],[tel],[email],[state],[registerTime],[lastLoginTime],[remark])" +
"VALUES(@username,@userpwd,@name,@deptId,@tel,@email,@state,GETDATE(),GETDATE(),'null')";
SqlParameter[] param =
{
new SqlParameter("@username",SqlDbType.VarChar),
new SqlParameter("@userpwd",SqlDbType.VarChar),
new SqlParameter("@name",SqlDbType.VarChar),
new SqlParameter("@deptId",SqlDbType.Int),
new SqlParameter("@tel",SqlDbType.VarChar),
new SqlParameter("@email",SqlDbType.VarChar),
new SqlParameter("@state",SqlDbType.VarChar)
};
param[0].Value = username;
param[1].Value = userpwd;
param[2].Value = name;
param[3].Value = dept;
param[4].Value = tel;
param[5].Value = email;
param[6].Value = "";
int count = DataManager.Set(sql, param);
if (count > 0)
{
DialogResult dr = MessageBox.Show("注册成功,是否登录?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (dr == DialogResult.OK)
{
FrmLogin login = new FrmLogin();
login.Show();
this.Hide();
}
else
{
this.Show();
}
}
else
{
MessageBox.Show("注册失败!","提示",MessageBoxButtons.AbortRetryIgnore,MessageBoxIcon.Hand);
}
}

调用底层的方法:

DataManager类:

public static int Set(string sql, SqlParameter[] pars)
{
return new DataService().Set(sql, pars);
}

DataService类:

public int Set(string sql, SqlParameter[] pars)
{
Init(sql, pars, SysControl.ConnectionString);
return Set();
}

private int Set()
{
con.Open();
int i = cmd.ExecuteNonQuery();
con.Close();
return i;
}

SysControl类:

/// <summary>
/// 数据库连接字符串
/// </summary>
public static string ConnectionString = ConfigurationManager.AppSettings["connectionString"];

在app配置文件里面添加链接:

<appSettings>
<add key ="connectionString" value="server=.;user id=sa; password=123456; database=db;"/>
</appSettings>

winform注册功能的更多相关文章

  1. Winform 注册机通用软件注册功能之建立有效的软件保护机制

    本文转载:http://www.cnblogs.com/umplatform/archive/2013/01/23/2873001.html 众所周知,一些共享软件往往提供给使用者的是一个功能不受限制 ...

  2. C# 实现软件注册功能

    相信很多初学编程的人都会对这个注册功能很感兴趣,我也不例外,刚学asp.net时,竞找不到这方面的实例,结果自己参考微软的一些文档自己做了一个,其实我做的这个注册功能很简单,读取计算机的CPU序列号, ...

  3. C#Winform 注册使用全局快捷键详解

    C#.NET Winform 注册使用全局快捷键详解 借助于全局快捷键,用户可以在任何地方操控程序,触发对应的功能.但 WinForms 框架并没有提供全局快捷键的功能.想要实现全局快捷键需要跟 Wi ...

  4. python实现软件的注册功能(机器码+注册码机制)

    http://www.cnblogs.com/cquptzzq/p/5940583.html 一.前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状 ...

  5. springMVC+Java验证码完善注册功能

    这篇文章简单的写了一个java验证码,为之前写过的springMVC注册功能加上验证码,验证码的作用就不多说了,防止机器人程序恶意注册什么的.. 其中User.java,加上了password和cod ...

  6. gitlab 取消注册功能

    gitlab 默认安装完成以后是允许用户注册,公司内部使用所以准备禁用了注册功能,只允许管理员从后台开通权限: 1.进入"Admin Area" 2.在左边菜单栏最低下点击&quo ...

  7. 7、ABPZero系列教程之拼多多卖家工具 修改注册功能

    本篇开始进入重头戏,之前的几篇文章都是为了现在的功能作准备.前面教程已经讲到修改User表结构,接下来就需要修改注册逻辑代码. 注册页面 修改Register.cshtml,备注如下代码: 文件路径: ...

  8. Node.js基础学习四之注册功能

    前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上 ...

  9. EasyMall注册功能

    EasyMall注册功能 1. 环境搭建 创建一个EasyMall的web应用 配置www.easymall.com网站,并配置为缺省的虚拟主机,将EasyMall配 置为缺省的web应用,在配置in ...

随机推荐

  1. 优化:mysql查询最近一条记录

    下策--查询出结果后将时间排序后取第一条 select * from a where create_time<="2017-03-29 19:30:36" order by ...

  2. ajax 和jsonp 不是一码事

    由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯 ...

  3. JS教程:从0开始

    一. JS简介 1. JavaScript概述 JavaScript 是世界上最流行的编程语言.这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. ...

  4. python中字符串拆分与合并——split()、join()、strip()和replace()

    Python3 split()方法 描述split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 语法split()方法语法: str.split(str= ...

  5. DBA_OBJECTS

    类型:View Owner:SYS 内容:记录了数据库中所有的对象 字段: OWNER:对象的Owner OBJECT_NAME:对象名称 SUBOBJECT_NAME:对象的子对象名字,例如分区 O ...

  6. .NETCore 快速开发做一个简易商城

    介绍 上一篇介绍 <.NETCore 基于 dbfirst 体验快速开发项目>,讲得不太清楚有些多人没看懂.这次吸取教训,将一个简易商城做为案例,现实快速开发. 本案例用于演示或学习,不具 ...

  7. swagger Failed to load Api definition 的问题

    这个问题是由于Tomcat乱码问题导致的,修改server.xml文件的编码格式修改成UTF-8

  8. 【Matlab&Mathematica】对三维空间上的点进行椭圆拟合

    问题是这样:比如有一个地心惯性系的轨道,然后从轨道上取了几个点,问能不能根据这几个点把轨道还原了? 当然,如果知道轨道这几个点的速度的情况下,根据轨道六根数也是能计算轨道的,不过真近点角是随时间变动的 ...

  9. SQL Server函数与存储过程 计算时间

    一.通过一个开始时间.结束时间计算出一个工作日天数(不包含工作日与节假日): 1.函数 --创建函数,参数 @bengrq 开始时间,@endrq 结束时间 create function [dbo] ...

  10. 数据库常用操作SQL语句

    禁用触发器: alter table tb disable trigger tir_name 启用触发器: alter table tb enable trigger tir_name