C#窗体应用程序 vs + sql server2008连接举例,简单的学生信息管理系统
2016-01-12 14:43
1016 查看
C#窗体应用程序 vs + sql server2008连接举例,简单的学生信息管理系统:http://blog.csdn.net/u011602967/article/details/50503600,转发请注明出处。
电脑 win8.1 专业版 64位
vs 2013 + sql server2008
sql server2008安装教程:点击打开链接
sql server 2008常见问题以及解决方法:http://blog.csdn.net/u011602967/article/details/50501906
看了几天关于C#介绍的书后,boss开始让我自己创建一个C#窗体应用程序,连接数据库sql server,并实现简单的添删改查。我这里制作了一个简单的学生信息管理系统,实现登陆以及学生信息的添删改查操作。
第一部分 数据库的准备工作
1.打开配置管理器,启动server(MSSQLSERVER)服务,连接本地服务器
2.建立新的数据库LoginTable,并在其目录下建立两张新表如下图,建立新表的方式这里就不详细叙述了,表login和student,分别设计如下:
登陆表设计用户名以及登陆密码
学生表设计学号id、学生姓名sname、分数score,这里的学生表里面的学号本来应该是连续的。这里有必要说明一下:我这里设置了id为标识,这一栏不用自己设置,系统会自动生成连续的编号,现在之所以不连续,是因为我写好了窗体应用程序后进行测试,所以删除了一部分的数据。
第二部分 vs与数据库的连接
1.打开vs,新建一个窗体应用程序,(我这里没有修改默认的名称)默认命名为WindowsFormsApplication3,名称可以自己随意修改。设计Form1窗体为下图所示:
这里为了省事,注册和登陆用的是同一个窗体。
2.接下来就是数据库和vs的连接部分了,在vs工具栏中选择 工具—>连接到数据库—>Microsoft sql server—>继续 ,在弹出来的窗体中输入自己的服务器名,在下面的“选择或输入数据库名称”的下拉项中会自动匹配你已经建立好的数据库LoginTable,选择好了之后,直接点击确定就over啦,数据库和vs的连接就杠杠的没有问题啦!
连接成功后能在vs操作界面的左边看到连接好的数据库:
第三部分 代码实现部分
然后就是我们的代码部分了,双击自己设计的Form1中的button按钮登陆,进入代码设计界面,填写如下代码,我这里也是初学,所以有很详细的代码解释的注释,这里强调一点,一定要记得在最前面添加代码 using System.Data.SqlClient;!!!:
1.登陆
注册的代码实现方法和登陆基本相同,只需把上述代码中的sql查询语句改成:insert into login values('" + textBox1.Text + "','" + textBox2.Text + "') 即可实现注册功能。
3.新建一个窗体 命名为MainForm,进行如下设计:
关于"关联"的方法,在DataGirdView控件中编辑列,进行如下操作:
4.显示信息
新建一个窗体,设计如下:
添加和修改的方法相似,这里……呵呵你懂了,都是为了省事方便,设计在同一个窗体中了。。。
代码如下:
6.删除
删除的方法的话,这里多说几句。我想要实现的是鼠标在DataGirdView控件中选中一行学生信息,然后进行删除,实现代码如下:
到这里基本就已经结束了,博主要继续去学习新的知识去了,各位初学者一起加油。
有问题欢迎指正,谢谢。
电脑 win8.1 专业版 64位
vs 2013 + sql server2008
sql server2008安装教程:点击打开链接
sql server 2008常见问题以及解决方法:http://blog.csdn.net/u011602967/article/details/50501906
看了几天关于C#介绍的书后,boss开始让我自己创建一个C#窗体应用程序,连接数据库sql server,并实现简单的添删改查。我这里制作了一个简单的学生信息管理系统,实现登陆以及学生信息的添删改查操作。
第一部分 数据库的准备工作
1.打开配置管理器,启动server(MSSQLSERVER)服务,连接本地服务器
2.建立新的数据库LoginTable,并在其目录下建立两张新表如下图,建立新表的方式这里就不详细叙述了,表login和student,分别设计如下:
登陆表设计用户名以及登陆密码
学生表设计学号id、学生姓名sname、分数score,这里的学生表里面的学号本来应该是连续的。这里有必要说明一下:我这里设置了id为标识,这一栏不用自己设置,系统会自动生成连续的编号,现在之所以不连续,是因为我写好了窗体应用程序后进行测试,所以删除了一部分的数据。
第二部分 vs与数据库的连接
1.打开vs,新建一个窗体应用程序,(我这里没有修改默认的名称)默认命名为WindowsFormsApplication3,名称可以自己随意修改。设计Form1窗体为下图所示:
这里为了省事,注册和登陆用的是同一个窗体。
2.接下来就是数据库和vs的连接部分了,在vs工具栏中选择 工具—>连接到数据库—>Microsoft sql server—>继续 ,在弹出来的窗体中输入自己的服务器名,在下面的“选择或输入数据库名称”的下拉项中会自动匹配你已经建立好的数据库LoginTable,选择好了之后,直接点击确定就over啦,数据库和vs的连接就杠杠的没有问题啦!
连接成功后能在vs操作界面的左边看到连接好的数据库:
第三部分 代码实现部分
然后就是我们的代码部分了,双击自己设计的Form1中的button按钮登陆,进入代码设计界面,填写如下代码,我这里也是初学,所以有很详细的代码解释的注释,这里强调一点,一定要记得在最前面添加代码 using System.Data.SqlClient;!!!:
1.登陆
private void button1_Click(object sender, EventArgs e)//登陆 { //数据库连接字符串(引号中的字符串为之前复制的那段字符) //Data source=服务器名,Initial catalog=数据库名,User Id=sqlserver连接名, //Password=数据库连接密码,integrated Security=True string str = @"Data Source=lenovo;Initial catalog=LoginTable;integrated Security=True"; SqlConnection conn = new SqlConnection(str); conn.Open(); string selectsql = "Select * from login where username = '" + textBox1.Text + "' and password='" + textBox2.Text + "'"; SqlCommand cmd = new SqlCommand(selectsql, conn);//SqlCommand对象允许你指定在数据库上执行的操作的类型。 cmd.CommandType = CommandType.Text; //这就是告诉cmd执行的sql是你赋给CommandText的值里写出的sql语句, //如果是存储过程的话cmd.CommandType = CommandType.StoredProcedure; //然后CommandText='存储过程的名字',这就是告诉cmd执行的是存储过程, //存储过程的名字就是CommandText的值 //CommandType是SqlCommand对象的一个属性,用于指定执行动作的形式, //它告诉.net接下来执行的是一个文本(text)、 //存储过程(StoredProcedure)还是表名称(TableDirect). //而CommandType是一个枚举类型。 //有三个值:text、StoredProcedure、TableDirect //用于表示SqlCommand对象CommandType的执行形式。 SqlDataReader sdr; sdr = cmd.ExecuteReader(); if (sdr.Read()) { //label3.Text = "登陆成功!"; //MainForm form = new MainForm();//登陆成功显示主界面 //form.Show(); this.DialogResult = System.Windows.Forms.DialogResult.OK;//这里实现登陆成功后关掉登录界面 } else { label3.Text = "登陆失败!请检查用户名或者密码重新登陆!"; //label3在界面没有显示,因为我设置了显示为一个空格,这个可以自己随意在登陆界面的某个位置添加一个label控件用以显示提示信息 return; } conn.Close(); }2.注册
注册的代码实现方法和登陆基本相同,只需把上述代码中的sql查询语句改成:insert into login values('" + textBox1.Text + "','" + textBox2.Text + "') 即可实现注册功能。
3.新建一个窗体 命名为MainForm,进行如下设计:
关于"关联"的方法,在DataGirdView控件中编辑列,进行如下操作:
4.显示信息
private void button1_Click(object sender, EventArgs e)//显示信息 { string str = @"Data Source=lenovo;Initial catalog=LoginTable;integrated Security=True"; SqlConnection conn = new SqlConnection(str); conn.Open(); SqlDataAdapter sqlDap = new SqlDataAdapter("Select * from student",conn); DataSet dds = new DataSet(); sqlDap.Fill(dds); DataTable _table = dds.Tables[0]; int count = _table.Rows.Count; dataGridView1.DataSource = _table; conn.Close(); //dataGridView1.DataBind();//在网上找的方法中有这一句,在这里这一句可以不要,不然报错 conn.Close(); }5.添加和修改
新建一个窗体,设计如下:
添加和修改的方法相似,这里……呵呵你懂了,都是为了省事方便,设计在同一个窗体中了。。。
代码如下:
private void button1_Click(object sender, EventArgs e)//添加信息 { string str = @"Data Source=lenovo;Initial catalog=LoginTable;integrated Security=True"; SqlConnection conn = new SqlConnection(str); conn.Open(); string selectsql = "insert into student values('" +textBox2.Text + "',"+textBox3.Text+")"; SqlCommand cmd = new SqlCommand(selectsql, conn); cmd.CommandType = CommandType.Text; SqlDataReader sdr; sdr = cmd.ExecuteReader(); conn.Close(); //UpdataForm udform = new UpdataForm(); this.DialogResult = System.Windows.Forms.DialogResult.OK; }
<pre name="code" class="csharp">private void button2_Click(object sender, EventArgs e)//修改信息 { string str = @"Data Source=lenovo;Initial catalog=LoginTable;integrated Security=True"; SqlConnection conn = new SqlConnection(str); conn.Open(); string selectsql = "update student set score = "+ textBox3.Text +" where sname = '"+textBox2.Text+"'"; SqlCommand cmd = new SqlCommand(selectsql, conn); cmd.CommandType = CommandType.Text; SqlDataReader sdr; sdr = cmd.ExecuteReader(); //UpdataForm udform2 = new UpdataForm(); this.DialogResult = System.Windows.Forms.DialogResult.Yes; conn.Close(); }
6.删除
删除的方法的话,这里多说几句。我想要实现的是鼠标在DataGirdView控件中选中一行学生信息,然后进行删除,实现代码如下:
private void button4_Click(object sender, EventArgs e)//删除信息 { string str = @"Data Source=lenovo;Initial catalog=LoginTable;integrated Security=True"; SqlConnection conn = new SqlConnection(str); conn.Open(); if (dataGridView1.SelectedRows.Count != 1) return; if (dataGridView1.CurrentRow == null) return; //string bd = dataGridView1.CurrentRow.Cells[2].Value.ToString(); DataRowView row = dataGridView1.CurrentRow.DataBoundItem as DataRowView; if (row["id"] == null) return;//可以进行快速监视 string bd = Convert.ToString(row["id"]); string selectsql = "delete from student where id = "+ bd +""; SqlCommand cmd = new SqlCommand(selectsql, conn); cmd.CommandType = CommandType.Text; //SqlDataReader sdr; //sdr = cmd.ExecuteReader(); int ret = cmd.ExecuteNonQuery();//受影响的行数(总数) if (ret==-1) { MessageBox.Show("删除失败!"); return; } else { MessageBox.Show("删除成功!"); } conn.Close(); }这样,在显示了学生信息之后,点中其中的一行,再点击删除信息按钮,就能成功删除该条学生信息了,可以重新点击“查看信息”进行查看。
到这里基本就已经结束了,博主要继续去学习新的知识去了,各位初学者一起加油。
有问题欢迎指正,谢谢。
相关文章推荐
- oracle temporary tables
- MySql 里的IFNULL、NULLIF和ISNULL用法
- Oracle日期时间函数大全
- mysql 定位慢查询
- MySql 里的IFNULL、NULLIF和ISNULL用法
- Orecle Mysql 基本sql语句DDL & DML 介绍与总结 by 冰琉璃
- 【转】搭建高可用mongodb集群(四)—— 分片
- 【转】搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 【转】搭建高可用mongodb集群(二)—— 副本集
- 【转】搭建高可用mongodb集群(一)——配置mongodb
- 主从mysql服务器
- Mysql相关笔记
- 数据库备份怎样避免乱码,Discuz技术小析
- mongoDB shardKey
- mysql 常用参数含义(补充中.....)
- mysql登陆问题
- sqlzoo练习答案--SELECT within SELECT Tutorial
- sql 查询
- SQL Server中查询用户的对象权限和角色的方法
- sql基本查询———增量