ADO.NET 对象
(一)OleDbConnection 使用COM组件链接
(二)ADO.NET 对对数据库访问做了优化:
1、SqlConnection 用于建立和Sql Server服务器连接的类,表示打开数据库
2、DataSet 表示一组数据表,以及这些表之间的关系
3、DataRow 表示数据表中的一行数据
4、DataColumn 表示数据表的一列
5、DataRelation 表示数据集中的两个表之间的连接关系,通常使用主表的主键和从表的外键定义主从表之间的关系
6、SqlCommand 执行Sql语句或则数据库存储过程的调用
7、SqlDataAdapter 用于填充数据集合或者跟新数据库,也可用于存储Sql语句
8、SqlDataReader 只读并且只向前的数据读取器,并且拥有最高的读取速度
9、SqlParameter 为存储过程指定参数
10、SqlTransaction 表示在一个数据库连接中执行的数据库事务处理
SqlServer链接字符串:string sql = "Server=(local);User Id=sa;pwd=;DataBase=pubs";
备注:Server表示要链接的SqlServer实例的名称或者网络地址;User id表示用户名;Pwd表示 密码;DataBase 表示链接的数据库;
实例1、利用ADO.NET对象录入数据:SqlConnection sqlCon= new SqlConnection(连接字符串);
SqlCommand cmd = new SqlCommand(“Insert into 员工 表”+"Values(@UserId,@UserName,@UserBasicSalary,@WorkLevel)",sqlCon);
cmd.Parameters.Add(@UserId,SqlDataType.Varchar,50).Value = TextBox1.Text.Trim();
cmd.ExecuteNonQuery();
实例2、SQL Server 实现批量的插入数据:
通过向Insert Into语句嵌入Select语句,可以实现向数据库批量插入数据 Insert Into tb_Student_Copy(Stu_Name,Stu_Age,Stu_Sex,Stu_HouseAddress) Select Stu_Name,Stu_Age,Stu_Sex,Stu_HouseAddress from tb_Student
PS:Select 中的查询字段需要和Insert Into中数据列匹配
实例3、利用存储过程录入数据:
Using(SqlCommand cmd = new Sqlcommand())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "存储过程名";
SqlParameter[] Params = {
new SqlParameter("@Id",SqlDataType.Char,);
......
};
foreach(SqlParameter param in Params)
{
cmd.Parameters.Add(param);
}
SqlParameter sqlpara = cmd.Parameters.Add("@Return",SqlDbType.Int)
sqlpara.Direction =ParameterDirection.ReturnValue;//获取返回值
cmd.ExecuteNonQuery(); //执行存储过程
}
实例3、关于图片的存取:
(1)存储文件名的方法存取
(2)使用二进制存取用户图片FileStream fs = new FileStream(文件路径);BinaryStream bs = new BinaryStream(fs);将图片转换为文件流,再将文件流转换为二进制流;
实例4、关于数据的修改:
(1)、对象
Update tb_StuInfo Set Stu_Name=' ';
String Sql = Update tb_StuInfo Set Stu_Name = @stuName,Stu_Age=@stuAge,Stu_Sex=@stuSex;
Command cmd = new Command(Sql,Con);
cmd.Parameters.Add(@StuName,SqlDbType.Varchar,).Value = TextBox1.Text.Trim();
cmd.Parameters.Add(@stuAge,SqlDbType.Varchar,).Value = TextBox2.Text.Trim();
cmd.Parameters.Add(@stuSex,SqlDbType.Varchar,).Value = TextBox3.Text.Trim();
cmd.ExecuteNonQuery();
(2)、Sql语句
(3)、存储过程修改数据
实例5、数据的删除:
Delete * From tb_StuInfo Where stuName = ' '
ADO.NET 对象的更多相关文章
- ADO五大对象(转载)
来源:http://blog.csdn.net/u013201439/article/details/51111969 ADO五大对象(转载) 一.绪论 1.引言 在数据库应用系统中,必定要涉及到对数 ...
- ADO.NET对象的详解
1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...
- ADO.NET对象之 DataTable
ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源. DataTable对象表示保存在本机内存中的 ...
- Ado.net对象
Connection对象主要提供与数据库的连接功能 Command 对象用于返回数据,修改数据,运行存储过程以及发送或检索参数信息的数据库命令. DataReader对象通过Command对象提供从数 ...
- ADO五大对象
ADO.NET五大对象, 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. 3. DataReader:读取数据源的数据,只允许对将数据源以只 ...
- 反射入门-浅谈反射用途_根据Ado游标对象创建list集合
本人大二菜鸟一只,今天在上课期间有个同学看着C#反射的内容说反射没什么用,一时之间也想不到什么更好的例子,就写了个根据泛型类型和游标反射创建List集合的Demo. 首先创建一个用于封装对应数据的en ...
- Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介
ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Con ...
- ADO.NET 对象 结构图
- ADO Recordset 对象链接
http://baike.baidu.com/link?url=4Xdc46R8M5uj-BbOGaH761N5oDEYlGQJFeR2WbPwx1iQBusAUKU3qbWcHZCMmayatj9n ...
随机推荐
- spring 3.2 后 annotation-driven 注册新的类
DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 的使用已经过时! DefaultAnnotationHandlerMa ...
- linux 7- - watch,free,mpstat,vmstat,iostat,pidstat,df,du
十八. 和系统运行状况相关的Shell命令: 1. Linux的实时监测命令(watch): watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的 ...
- C#窗体互动
说白了就是在一个窗体操作另外一个窗体的东西. 原理是把form2的数据提取出来,利用中间的静态类middle来传递数据,触发事件,调用委托,来修正form1 效果如下: Form1.cs usin ...
- LeetCode:字母异位词分组【16】
LeetCode:字母异位词分组[16] 题目描述 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", &quo ...
- JSON for java
一.JSON介绍 JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如Java产生了一个数据想要给JavaScript,则除了利用XML外,还可以利 ...
- MD5加密“破解”在.NET平台实现最基本的理解
MD5作为一种散列算法,广泛用于密码传输过程中的“加密”(引号的意思是这并不是真正的加密,而是形成密码的散列值)过程.MD顾名思义Message Digest(报文摘要),可以将输入的密码,一般来说为 ...
- OJ 之 FATE
- FATE Crawling in process... Crawling failed Time Limit:100 ...
- Shiro-自定义realm
Shiro自定义 realm package com.zhen.realm; import org.apache.shiro.authc.AuthenticationException; import ...
- C++的栈
栈,是一种存储受限的线性数据结构,在存储和访问数据的时候只能访问栈的一端.栈类似于一摞盘子,只能拿去最上面的盘子,也只能把盘子放到最上面.由于这种特点,栈是一种后进先出(Last in / First ...
- unity3D实现多点触碰
实现多点触碰是利用input这个类里面的方法实现的. 从edit-project settings-input就可以看到input能够得到的轴. 想要读取轴向可以使用Input.GetAxis方法获取 ...