如上图所示界面,当我们点击保存按钮时将会将表格中的数据保存到数据库中去,与数据库进行一个交互

第一步我们就是要获取到表格中的数据

 string pwd = textpwd.Text;           //获得第一次输入密码
string agePqd = txtsurepwd.Text; //获得第二次输入的密码 string name = textname.Text; //获得用户输入的名字
int grendID = Change(); //获得用户输入年级
string phone = textphone.Text; //获得用户输入的电话
string Email = txtEmail.Text; //获得用户输入的Email
DateTime birthday = time.Value; //获得用户输入的出生日期
string gender = string.Empty; //获得用户输入的性别
if (boy.Checked)
{
gender = "";
}
else
{
gender = "";
}

因为性别是单选按钮,所以获取方式如上面的代码

为了严谨性,我们可以在与数据库交互之前先进行一道两次输入密码是否正确的判断

        string pwd = textpwd.Text;           //获得第一次输入密码
string agePqd = txtsurepwd.Text; //获得第二次输入的密码
if (agePqd.Equals(pwd))
{
................
...............
}
else
{
MessageBox.Show("两次输入的密码不一致!", "用户提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
}

如果判断正确,那么我们就可以和数据库进行交互了  和数据库交互的代码如下

string str = "data source=.;initial catalog=MySchool;user ID=sa;";
con = new SqlConnection(str);
con.Open(); string sql = "insert Student values('" + pwd + "','" + name + "','" + gender + "'," + grendID + ",'" + phone + "','" + birthday + "','" + Email + "');select @@identity";
SqlCommand com = new SqlCommand(sql, con);
int count = Convert.ToInt32(com.ExecuteScalar());

以上代码是将数据库通道打开,并且将要执行的Sql语句提交到数据库

添加学生信息完整的代码如下

string pwd = textpwd.Text;           //获得第一次输入密码
string agePqd = txtsurepwd.Text; //获得第二次输入的密码
if (agePqd.Equals(pwd))
{
string name = textname.Text; //获得用户输入的名字
int grendID = Change(); //获得用户输入年级
string phone = textphone.Text; //获得用户输入的电话
string Email = txtEmail.Text; //获得用户输入的Email
DateTime birthday = time.Value; //获得用户输入的出生日期
string gender = string.Empty; //获得用户输入的性别
if (boy.Checked)
{
gender = "";
}
else
{
gender = "";
} SqlConnection con = null; try
{
string str = "data source=.;initial catalog=MySchool;user ID=sa;";
con = new SqlConnection(str);
con.Open(); string sql = "insert Student values('" + pwd + "','" + name + "','" + gender + "'," + grendID + ",'" + phone + "','" + birthday + "','" + Email + "');select @@identity";
SqlCommand com = new SqlCommand(sql, con);
int count = Convert.ToInt32(com.ExecuteScalar());
if (count > )
{ DialogResult result = MessageBox.Show("添加成功!", "用户提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
txtstudentnumber.Text = count.ToString();
if (result == DialogResult.Yes)
{
this.Close();
} }
}
catch (Exception)
{
MessageBox.Show("添加失败!", "用户提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
}
finally
{
if (con != null)
{
con.Close();
}
}
}
else
{
MessageBox.Show("两次输入的密码不一致!", "用户提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
}

从C#中通过Windows窗体添加信息到数据库 (添加学生信息)的更多相关文章

  1. .net中关于Windows窗体程序和Web网站程序调用自己的服务

    在.NET Framework 4.0创建服务是中没有像3.5那样的选择新建-网站-ASP.NET Web服务模块,但在4.0中可以选择 新建-网站-ASP.NET空网站-选中项目右键添加新项- 选择 ...

  2. 基于JavaScript的表格设计:按序添加或删除班级的学生信息

    目的: 制作一个表格,显示班级的学生信息 功能: 鼠标移到不同行,背景色发生改变,离开恢复原背景色 添加.删除按钮,可添加,可删除. 程序流程: 首先先建立绑定事件函数. 其次建立鼠标移动改变背景色函 ...

  3. MySQL中查询获取每个班级成绩前三名的学生信息

    CREATE TABLE t_testscore( pk_id INT PRIMARY KEY, c_name VARCHAR(50) , c_score INT, c_class INT )DEFA ...

  4. 基于XML数据库的学生信息管理系统的设计与实现

    本项目是在学习之余写的,主要用来练习MVC+DAO的分层设计思想,项目基于一个简单的XML学生数据库,使用XML作为数据库的原因是其十分的小巧与方便,使用dom4j即可进行方便的解析.因为这段时间课程 ...

  5. 演练:调试 Windows 窗体

    Windows 窗体是最常见的托管应用程序之一. Windows 窗体创建标准的 Windows 应用程序. 你可以完成此演练使用 Visual Basic 中, C#,或 c + +. 首先,您必须 ...

  6. 如何:对 Windows 窗体控件进行线程安全调用

    http://msdn.microsoft.com/zh-cn/library/ms171728(VS.90).aspx http://msdn.microsoft.com/zh-cn/library ...

  7. 在.NET Core 3.0 Preview上使用Windows窗体设计器

    支持使用基于Windows窗体应用程序的.NET Core 3.0(预览)的Windows窗体设计器 介绍 截至撰写本文时,Microsoft和社区目前正在测试.NET Core 3.0.如果您在.N ...

  8. 关于搬运CSDN上学生信息管理系统的阅读与二次开发

    关于本篇博客内容,我大概分成了三个部分进行讲述:对于源代码的解读.二次重开发后程序的介绍和自己在做完对他人代码的解读和重开发后自己的一些感想. 一.  源代码的解读 在本部分的解读中主要分为三部分:该 ...

  9. 学生信息管理系统(c语言)

    ①注意: 程序中使用了sleep()函数.system()函数 关于 sleep() 函数 sleep() 函数的头文件和用法会因环境的不同而有所不同. 具体见-sleep()函数功能及用法 关于sy ...

随机推荐

  1. [iOS Xcode8]上传AppStore 无法构建版本 没有➕号

    最近iOS10出来了 Xcode也跟着升级到了8 想着App做个更新 于是修改好了代码打算上传新包 ,无奈总是发现构建不了新版本 经过各种蛋疼的查找.我列一下我的经验 1.如果是收费的App,那么是要 ...

  2. 大型网站系统架构演化之路【mark】

    前言 一 个成熟的大型网站(如淘宝.天猫.腾讯等)的系统架构并不是一开始设计时就具备完整的高性能.高可用.高伸缩等特性的,它是随着用户量的增加,业务功能的 扩展逐渐演变完善的,在这个过程中,开发模式. ...

  3. 在unity5中减少Draw Calls(SetPass Calls)[转]

    在unity5中减少Draw Calls(SetPass Calls)   我一直工作于unity5支持的Standard Shader(标准着色器)上,并且做了一些关于如何有效地减少draw cal ...

  4. Android之布局onClick属性写法规则

    /** Called when the user clicks the Send button */public void sendMessage(View view) {    // Do some ...

  5. js两种定义函数、继承方式及区别

    一:js两种定义函数的方式及区别 1:函数声明: function sayA() { alert("i am A"); } 2:函数表达式: var sayB = function ...

  6. 百度地图api根据定位获取附近商家(只获取屏幕内)

    根据中心点坐标计算出屏幕2个点(一个最低经纬度,一个最高经纬度),判断这两个点中间的所有坐标的商家..考虑屏幕分辨率之类 移动地图中心点变动,如何异步刷新,判断商家是否已经存在..等... 百度地图a ...

  7. ios ZBar扫二维码奇奇怪怪的错误

    Undefined symbols for architecture armv7: "_CVPixelBufferGetHeight", referenced from: -[ZB ...

  8. yii2 [行为] behaviors 拦截器

    yii2 拦截器 在控制器中可以自定义对action的拦截器,拦截器需要继承 \yii\base\ActionFilter 参考代码: class BaseUserAuthorizeFilter ex ...

  9. 用Razor語法寫範本-RazorEngine組件介紹【转——非常好,可以用它来代替NVelocity】

    RazorEngine 官網網址:http://razorengine.codeplex.com 在找到RazorEngine之前曾經想過其他的方案,如T4與V8 Engine載jquery.temp ...

  10. ES6转ES5:Gulp+Babel

    目标: ES6代码转成ES5 对转换后的ES5进行压缩 以上步骤自动监控执行 步骤: 1.安装插件 在命令行中定位到项目根目录 安装全局 Gulp npm install -g gulp 安装项目中使 ...