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

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

 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. Django 源码小剖: 初探中间件(middleware)

    因为考虑到文章的长度, 所以 BaseHandler 的展开被推迟了. 在 BaseHandler 中隐藏着中间件的信息, 较常见的 SessionMiddleware 就已经默认安装.  BaseH ...

  2. Step by step Process of creating APD

    Step by step Process of creating APD: Business Scenario: Here we are going to create an APD on top o ...

  3. 查看android app 线程信息的命令

    参考:https://my.oschina.net/zhiweiofli/blog/138454 ps | grep 'joyodream' 找到 app 的pid: joyodream为包名的一部分 ...

  4. eclipse 运行报java.lang.OutOfMemoryError: PermGen space解决方法

    一.在window下eclipse里面Server挂的是tomcat6,一开始还是以为,tomcat配置的问题,后面发现,配置了tomcat里面的catalina.bat文件,加入 set JAVA_ ...

  5. Java 10大精华文章收集001

    Java语言与JVM中的Lambda表达式全解 Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍 ...

  6. c2ph

    http://bolenot.ru/library/cmd/blcmdl1_c2ph.htm?-c2ph---Linux%E5%91%BD%E4%BB%A4--UNIX%E5%91%BD%E4%BB% ...

  7. 2dtoolkit获取sprite像素大小的方法

    获取sprite像素的方法 Vector2 GetPixelSize(tk2dSpriteDefinition def){ ].x; ].y; // Calculate dimensions in p ...

  8. 优化IIS7.5支持10万个同时请求windows 2008 R2

    通过对IIS7的配置进行优化,调整IIS7应用池的队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅. -

  9. ping: sendto: Network is unreachable

    在我的板子上ping路由上的IP的时候可以ping通,但是ping外网的IP的时候提示"ping: sendto: Network is unreachable" 后来使用rout ...

  10. c++ 全局变量初始化的一点总结

    注意:本文所说的全局变量指的是 variables with static storage,措词来自 c++ 的语言标准文档. 什么时候初始化 根据 C++ 标准,全局变量的初始化要在 main 函数 ...