C#窗体与sql数据库的连接
创建一个数据库
create database data1220 --创建数据库 go --go代表后面的语句是在前面语句执行的基础上进行的 use data1220 --确定操作数据库对象 go create table users --给数据库添加一个表 ( code int identity(1,1) primary key, --定义一个自增长列,并设为主键 name varchar(20) not null, --姓名列,不许为空 pwd varchar(20) not null --密码列,不许为空 ) insert into users values('zhangsan', 111) --给数据库中的users表,添加数据 insert into users values('lisi' ,222) insert into users values('wangwu',333) insert into users values('zhaoliu',444) select *from users --查询数据 delete from users
通过C#winform程序访问数据库数据
用到的命名空间和变量类型:
using System.Data.SqlClient;
SqlConnection;数据库连接类
SqlCommand;数据库操作类
SqlDataReader:读取
步骤:
1.建一个登录窗体
2.login按钮上触发事件:连接数据库函数
//按登录按钮,核对输入的数据 private void button1_Click(object sender, EventArgs e) { //后面拼写查询语句要用到窗体的信息 string user = textBox1.Text; string pwd = textBox2.Text; //创建数据库连接类的对象 SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123"); //将连接打开 con.Open(); //执行con对象的函数,返回一个SqlCommand类型的对象 SqlCommand cmd = con.CreateCommand(); //把输入的数据拼接成sql语句,并交给cmd对象 cmd.CommandText = "select*from users where name='"+user+"'and pwd='"+pwd+"'"; //用cmd的函数执行语句,返回SqlDataReader对象dr,dr就是返回的结果集(也就是数据库中查询到的表数据) SqlDataReader dr = cmd.ExecuteReader(); //用dr的read函数,每执行一次,返回一个包含下一行数据的集合dr,在执行read函数之前,dr并不是集合 if(dr.Read()) { //dr[]里面可以填列名或者索引,显示获得的数据 MessageBox.Show(dr[1].ToString()); } //用完后关闭连接,以免影响其他程序访问 con.Close(); }
往数据库添加数据
//添加数据 private void button2_Click(object sender, EventArgs e) { string user = textBox1.Text; string pwd = textBox2.Text; //创建数据库连接类的对象 SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123"); con.Open(); //执行con对象的函数,返回一个SqlCommand类型的对象 SqlCommand cmd = con.CreateCommand(); //拼写语句 cmd.CommandText = "insert into users values('"+user+"','"+pwd+"')"; //增删改用ExecuteNonQuery,会返回一个整型数字 int count = cmd.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("添加成功"); } else { MessageBox.Show("添加失败"); } }
修改数据
//根据编号修改数据 private void button4_Click(object sender, EventArgs e) { string user = textBox1.Text; string pwd = textBox2.Text; string code=textBox3.Text; //创建数据库连接类的对象 SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123"); con.Open(); //执行con对象的函数,返回一个SqlCommand类型的对象 SqlCommand cmd = con.CreateCommand(); //拼写语句 cmd.CommandText = "update users set name='"+user+"',pwd='"+pwd+"' where code="+code; //增删改用ExecuteNonQuery,会返回一个整型数字 int count = cmd.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("修改成功"); } else { MessageBox.Show("修改失败"); } con.Close(); }
删除数据
private void button3_Click(object sender, EventArgs e) { string code = textBox3.Text; //创建数据库连接类的对象 SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123"); con.Open(); //执行con对象的函数,返回一个SqlCommand类型的对象 SqlCommand cmd = con.CreateCommand(); //拼写语句 cmd.CommandText ="delete from users where code=" + code; //增删改用ExecuteNonQuery,会返回一个整型数字 int count = cmd.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("删除成功"); } else { MessageBox.Show("删除失败"); } con.Close(); }