黑马程序员之C#学习笔记:ADO.NET入门级材料
来源:互联网 发布:mysql explain括号 编辑:程序博客网 时间:2024/05/17 06:14
--------------------------------------------------- 2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------
ADO.NET通过封装一些对象来实现C#与数据库的连接,其实就是一个桥梁。下面先通过SQL Server来看ADO.NET是怎么样具体连接数据库的。
首先看一下在Visual Studio中创建数据库(Visual Studio内置一个数据库服务器)在视图上打开服务器资源管理器,在Visual Studio左边会看到
右键数据库连接,创建数据库
右键数据库连接,创建数据库
其中的“.”代表本地服务器,新创建的数据名字PersonDB,创建一个人Persons表,三个字段ID整形自动增长为主键,一个PersonName,nvarchar(15),存储人的姓名,PersonAge整形存储人的年纪。好了表创建好了,接下来就看看怎样把它同程序进行连接,来实现数据库的增删改查。
创建一个windowForm程序,界面如下:
SqlConnection con = new SqlConnection();//创建连接对象
con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";//分别表示服务器名称、数据库名称、登录用户名及密码 , 接下来创建sql命令对象:
SqlCommand cmd = con.CreateCommand();//sql命令对象,表示要对sql数据库执行一个sql语句
cmd.CommandText = "insert into persons(personname,personage) values(@name,@age)";//sql语句@name,@age表示两个参数
cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = textBox1.Text;//给参数赋值,并指定类型
cmd.Parameters.Add("@age", SqlDbType.Int).Value = textBox2.Text; con.Open();//打开连接
cmd.ExecuteNonQuery();//执行不是查询的sql语句 MessageBox.Show("插入成功!");
打开数据库连接一定要记得关闭连接:
catch (Exception ex)//由于sql语句对半全角很敏感,捕捉异常
{
MessageBox.Show(ex.Message);
} finally
{
con.Close();//不管打开成功还是失败,都能关闭连接
}
好了,到这一步插入操作做完了,接下来看一下能不能往表中插入数据。
点击添加,我们去Persons表中看一下有没有成功插入数据
我们看到“张三”被成功添加进去了,我们再来多添加几条数据。
{ con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";//分别表示服务器名称、数据库名称、登录用户名及密码
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select id,personname,personage from persons";//查询所有
con.Open(); SqlDataReader dr = cmd.ExecuteReader();//提供一种从 SQL Server 数据库读取行的只进流的方式
listBox1.Items.Clear();//清除listbox数据
comboBox1.Items.Clear();//清除combox数据
while (dr.Read())//一行一行读取数据,返回值是bool类型
{
listBox1.Items.Add("姓名:"+dr.GetValue(1).ToString() + " 年龄:"+dr.GetValue(2).ToString());
comboBox1.Items.Add(dr.GetValue(0));//把ID放到combox中,方便删除及修改
}
dr.Close();//关闭读取流操作
} catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
来看一下查询结果:
try
{
con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";
SqlCommand cmd = con.CreateCommand();
con.Open();
cmd.CommandText = "delete persons where id=@id";//删除语句,已ID为条件删除
cmd.Parameters.Add("@id", SqlDbType.Int).Value =comboBox1.Text; cmd.ExecuteNonQuery();
} catch (Exception ex)
{
MessageBox.Show(ex.Message);
} finally
{
con.Close();
}
先查询,
选择删除ID,
点击删除,再来查询一下
我们看到朱重八被删除了。
最后来做修改,这个比较麻烦,首先要修获得要修改的数据,先获得所有数据,在通过ID来实现查询当个数据,然后在确定修改
看修改查询代码:
try
{
con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select personname,personage from persons where id=@id";
cmd.Parameters.Add("@id",SqlDbType.Int).Value = comboBox1.Text;
con.Open();
SqlDataReader dr = cmd.ExecuteReader(); dr.Read();//因为只读一条数据,就不用while循环
textBox1.Text = dr.GetValue(0).ToString();
textBox2.Text = dr.GetValue(1).ToString();
dr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
} finally
{
con.Close();
}
再来看一下确定修改代码:
try
{
con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";
SqlCommand cmd = con.CreateCommand();
con.Open();
cmd.CommandText = "update persons set personname=@name,personage=@age where id=@id";
cmd.Parameters.Add("@id", SqlDbType.Int).Value = comboBox1.Text;
cmd.Parameters.Add("@name",SqlDbType.NVarChar).Value=textBox1.Text;
cmd.Parameters.Add("@age", SqlDbType.NVarChar).Value = textBox2.Text;
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
好了,我们先查询全部信息,在通过ID获得修改信息
把名字改成,七匹马,确定修改,再来查询一下是否修改成功
现在可以看到修改成功了。
--------------------------------------------------- 2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------
- 黑马程序员之C#学习笔记:ADO.NET入门级材料
- 黑马程序员之ADO.NET学习笔记:ADO.NET介绍
- 黑马程序员 C#学习笔记② ADO.NET技术步骤
- 黑马程序员—学习笔记之ADO.Net
- 黑马程序员--学习笔记之ADO.Net基础知识
- 黑马程序员之ADO.NET学习笔记:登陆练习。
- 黑马程序员之ADO.NET学习笔记:SqlConnection(连接对象)
- 黑马程序员之ADO.NET学习笔记:SqlCommand(命令对象)
- 黑马程序员之ADO.NET学习笔记:SqlParameter(Sql参数)
- 黑马程序员之ADO.NET学习笔记:SqlDataReader(数据流读取器)
- 黑马程序员之ADO.NET学习笔记: SqlTransaction(事务)
- 黑马程序员之ADO.NET学习笔记: SqlDataAdapter(数据适配器)
- 黑马程序员之ADO.NET学习笔记:执行Insert操作
- 黑马程序员之ADO.NET学习笔记:执行select语句
- 黑马程序员之ADO.NET学习笔记:using和close
- 黑马程序员--------Ado.net入门学习
- 黑马程序员之ADO.NET学习笔记:ADO.NET学习总结
- 黑马程序员-- ADO.NET基础学习笔记
- 从SQL Server 2000/2005到SQL Server 2008的升级测试
- 浏览器关键时间点计算
- 范数的物理意义(转)
- How .NET run-time determines which member to invoke in a interface involving hiearchy
- 怎样开掉一名“不够好”的员工
- 黑马程序员之C#学习笔记:ADO.NET入门级材料
- POJ3185高斯消元
- Android生成一个指定大小的图片
- android中的接口和java中的接口
- 解决 Python.h:没有那个文件或目录 错误的方法
- 一只兔子的故事 花你三分钟,可能影响你一生
- 中南大学2012暑期集训中期检测训练赛-求逆元
- Android 菜单(OptionMenu)大全 建立你自己的菜单
- 程序员节快乐:扔掉代码一起庆祝