【ADO.NET】1、简单配置与使用
ExecuteReader(); //返回查询到的数据,一次一行,用于 select
ExecuteNonQuery(); //返回影响的行数,用于 delete,insert,update
ExecuteScalar(); //返回第一行,第一列的数值,类型为 Object,用于查询 最大值,绝对值,统计数据...等
---------------
using() 的使用
---------------
using() 用于对资源的释放,当程序运行到using以外,资源将自动释放,相当于 conn.Dispose()
using在出了作用域以后调用Dispose,Dispose内部会做这样的判断:有没有close,没有就先close再Dispose
conn.Open() 打开连接
conn.Close() 关闭连接,关了还可以打开
conn.Dispose() 销毁连接,销毁后无法再打开
using(SqlConnection conn = new SqlConnection("server=.;database=mytest;uid=sa;pwd=gao;"))
{
conn.Open();
}
Console.WriteLine("打开数据库连接成功");
Console.ReadKey();
---------------------------
将连接字符串放到配置文件中
---------------------------
在app.config 或 web.config中,加入如下
<connectionStrings>
<add name="ConnStr" connectionString="server=.;database=mytest;uid=sa;pwd=gao"/>
</connectionStrings>
增加引用: System.configuration
增加命名空间:using System.Configuration;
string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; //获取字符串
SqlConnection conn = new SqlConnection(Str); //调用字符串
using (SqlConnection conn = new SqlConnection("Data Source=.;database=mytest;uid=sa;pwd=gao;"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from mydo";
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
int dbId = dr.GetString(dr.GetOrdinal("id")); //获取ID列值
string dbName = dr.GetString(dr.GetOrdinal("username")); //获取username
string dbPwd = dr.GetString(dr.GetOrdinal("passwd")); //获取passwd
Console.WriteLine("ID={0},UserName={1},Passwd={2}",dbId,dbName,dbPwd);
}
}
}
}
返回第一行,第一列的数值,类型为 Object
using (SqlConnection conn = new SqlConnection("Data Source=.;database=mytest;uid=sa;pwd=gao;"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select count(*) from mydo"; //统计行数
Console.WriteLine(Convert.ToString(cmd.ExecuteScalar())); //返回第一行,第一列
}
}
显示新插入的主键值
using (SqlConnection conn = new SqlConnection("Data Source=.;database=mytest;uid=sa;pwd=gao;"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_User(Name,Pwd) output inserted.Id values('admin','1234')";
int id = Convert.ToInt32(cmd.ExecuteScalar());
Console.WriteLine("新插入的主键值:{0}",id);
}
}
// 设置参数为 OutPut 参数
cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.Output; // 设置参数为 RetrunValue
cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.ReturnValue; // 获得输出参数值
cmd.Parameters["@Amount"].Value;
【ADO.NET】1、简单配置与使用的更多相关文章
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- 以实际的WebGIS例子探讨Nginx的简单配置
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉 ...
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...
- ssm简单配置
MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架. MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获. MyBatis 只使用简单的XML 和注解来配置和映射 ...
- 安装MariaDB和简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start maria ...
- BIND的进程一:DNS简单配置与的主从配置
DNS的简单配置和DNS的主从配置 摘要:DNS(Domain-Name Server) ,DNS的服务起到的作用就是名称解析,在网络通讯来说计算机与计算机是通过IP地址相互通信的, 当是IP地址 ...
- 转-squid介绍及其简单配置
本文原始出处:http://linuxme.blog.51cto.com/1850814/372960 1.Squid是什么? Squid中文权威指南:http://zyan.cc/book/squi ...
- Linux中vim的简单配置
本文主要分享Linux中vim的简单配置 ★配置文件的位置 在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...
- CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍
前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用. (1)STP(Spanning-tre ...
- lvs简单配置
负载均衡服务器将会用到两块网卡,eth0为公网地址(此处将局域网ip作为公网地址),IP地址为192.168.1.104,eth0:1,IP地址为192.168.2.1在负载均衡器上添加一个ip别名, ...
随机推荐
- zoj Simple Equation 数论
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5176 AX+BY = XY => (X-B)*(Y-A)= ...
- Kooboo 加Search功能 必须先ReBuild Index Data
加Search功能 有几个要点 1. 需要在Kooboo 必须先 ReBuild Index Data 2. 需要在要搜索的page中启用搜索索引 搜索的代码 @using K ...
- iOS的UILabel设置居上对齐,居中对齐,居下对齐
在iOS中默认的UILabel中的文字在竖直方向上只能居中对齐,博主参考国外网站,从UILabel继承了一个新类,实现了居上对齐,居中对齐,居下对齐.具体如下: // // myUILabel.h ...
- 前景还是“钱景”——MM应用引擎的自我博弈
纵观当前的移动互联网发展态势,巨大的商机已经展露无遗,各个领域的企业及个人对于APP的开发如火如荼,许多APP从诞生伊始,就面临着软件开发的专业性,商业模式的模糊性,以及市场推广的艰巨性三个巨大难题, ...
- Fast特征检测
一.Fast算法 1.基本原理 Fast特征点检测feature2D原理是在圆周上按顺时针方向从1到16的顺序对圆周像素点进行编号.如果在圆周上有N个连续的像素的亮度都比圆心像素的亮度Ip加上阈值t还 ...
- C#- 基于Lumisoft.NET组件的POP3邮件接管和删除操纵
Lumisoft.NET组件是一个很是强大的邮件发送.邮件接管等功能的开源组件,一般用它来处理惩罚邮件的相干操纵,是很是合适的.之前也写过一些该组件的漫笔文章,不过主如果哄骗来发送邮件居多,比来因为项 ...
- JAVA自动生成正则表达式工具类
经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...
- ubuntu卸载qq2012
xianbin@xianbin-ThinkPad-E520:~$ sudo dpkg --purge wine-qq2012-longeneteam [sudo] password for xianb ...
- vector中的resize与 reserve
void reserve (size_type n); reserver函数用来给vector预分配存储区大小,即capacity的值 ,但是没有给这段内存进行初始化.reserve 的参数n是推荐预 ...
- svn出错错误
RA layer request failed ---------------------------- 解决方案:重启visulsvnserver 若重启不了 出现Service 'VisualSV ...