一无参构造函数的形式:
创建连接、创建命令、执行命令:
string connstr = @"server=.;database=TestDataBase;uid=sa;pwd=130988825";
//连接字符串,可以在服务器资源管理器那里,右键连接,修改连接,高级,在对话框里面可以看到
SqlConnection conn =new SqlConnection(connstr); //将连接字符串传给创建的连接实例
conn.Open(); //打开连接
SqlCommand cmd = new SqlCommand(); //创建一个命令实例
cmd.Connection = conn; //给命令的Connection属性复制,即关联一个连接
cmd.CommandText = @"select count(*) from Student where sId='2'"; // 给命令的CommandText属性复制,即关联一个sql语句
int n = (int)cmd.ExecuteScalar(); //执行命令,执行命令的方法有:ExecuteScalar()、ExecuteNonQuery()、ExecuteScalar()
Console.WriteLine(n.ToString());
Console.ReadKey();
==========================================================================
二、执行命令的几个方法的综述:
1. ExecuteNonQuery------执行增、删、改,不返回任何结果
2. ExecuteReader-------执行查询,返回一个类型化SqlDataReader,用于逐条读取每一行的所有信息
3. ExecuteScalar-------执行查询,返回第一行第一列的object类型、一般用于求总数、或者有没有
==================================================================================
三、三个方法的标准代码
1、ExecuteNonQuery()
此方法执行update, delete, insert语句返回命令所操作的行数,它为一整数
static void Main(string[] args)
{
string connstr = @"server=WIN-VD88F15CMMD;database=Key;uid=sa;pwd=130988825"; //连接字符串
string sqlz = "insert into [Student](sName,sClass,sGender) values('key',1,'男')"; //插入数据的sql语句
string sqlx = "delete from [Student] where sName='key'"; //删除
string sqlg = "update [Student] set sName='胡冬冬',sClass=4 where sName='胡章诚'"; //修改
using (SqlConnection conn = new SqlConnection(connstr))
{
using (SqlCommand cmd = new SqlCommand(sqlz, conn))
{
conn.Open();
int a = cmd.ExecuteNonQuery();
Console.WriteLine("数据增添成功");
Console.ReadKey();
cmd.CommandText = sqlx;
int b = cmd.ExecuteNonQuery();
Console.WriteLine("数据删除成功");
Console.ReadKey();
cmd.CommandText = sqlg;
int c = cmd.ExecuteNonQuery();
Console.WriteLine("修改成功");
Console.ReadKey();
}
}
}
==============================================================================
2、ExecuteReader()
返回一个SqlDataReader 的实例
static void Main(string[] args)
{
string connstr = @"server=win-45022h0f9ns\mysqlserver;database=CallCenter;Persist Security Info=True;uid=sa;pwd=130988825";
string sql = @"select * from Student";
using (SqlConnection conn = new SqlConnection(connstr))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
using(SqlDataReader sda = cmd.ExecuteReader())
if (sda.HasRows)
{
while (sda.Read())
{
Console.WriteLine("id为:" + sda[0]);
}
}
Console.ReadKey();
}
}
}
=======================================================================================
3、ExecuteScalar()
很多情况下,需要从SQL语句中返回一个结果,例如给定表中的记录个数,或者服务器当前的日期时间,ExecuteScalar()适用于这些情况
获取单个结果集
static void Main(string[] args)
{
string connstr = @"Data Source=WIN-VD88F15CMMD;Initial Catalog=Key;User ID=sa;pwd=130988825";
string sql = "select count(*) from [Class]";
using (SqlConnection conn = new SqlConnection(connstr))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
int n = (int)cmd.ExecuteScalar();
Console.WriteLine(n.ToString());
Console.ReadKey();
}
}
}
该方法返回一个Object对象,如果需要可以把该对象的数据类型转化为合适的数据类型。
二、获取多个结果集
static void Main(string[] args)
{
string connstr = @"server=win-45022h0f9ns\mysqlserver;database=CallCenter;uid=sa;pwd=130988825";
string sql = @"select * from Student;select * from T_scripts";
using (SqlConnection conn = new SqlConnection(connstr))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
SqlDataReader sda = cmd.ExecuteReader();
if (sda.HasRows)
{
while (sda.Read())
{
Console.WriteLine("id为:"+sda[0]);
}
}
Console.WriteLine("=================");
Console.ReadKey();
if (sda.NextResult()) //利用 sda.NextResult() 判断是否还有结果集
{
while (sda.Read())
{
Console.WriteLine("id为:" + sda[0]);
}
}
Console.ReadKey();
sda.Close();
Console.ReadKey();
}
}
}
- [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)
转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...
- 【Python】模块学习之使用paramiko连接Linux,远程执行命令,上传下载、文件
本文主要介绍paramiko远程执行linux命令,及在服务器上进行文件的上传.下载 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. ...
- Mac系统终端命令行不执行命令 总出现command not found解决方法
配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的 保存命令是: source .bas ...
- [转] Mac系统终端命令行不执行命令 总出现command not found解决方法
配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的 保存命令是: source .bash ...
- ADO.NET 快速入门(二):执行命令
Commands发出针对数据库的数据存储动作.例如,你可以执行一条命令插入或者删除数据.获取更多从数据库移动数据相关的信息,请参考“Update a Database from a DataSet”. ...
- 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)远程的监控工具连接到本地的JVM执行命令
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
- ssh远程连接linux服务器并执行命令
详细方法: SSHClient中的方法 参数和参数说明 connect(实现ssh连接和校验) hostname:目标主机地址 port:主机端口 username:校验的用户名 password:登 ...
- adb连接夜神模拟器执行命令
1.要进入夜神模拟器的bin目录 2.连接夜神模拟器 3.执行命令 cd %~dp0 nox_adb.exe connect 127.0.0.1>nul set num= :ok set /a ...
- shell脚本命令远程连接ssh并执行命令
环境: redhat 6.5 根据网上提供方法,测试了很多写法都不成功,测试了很久才有了以下脚本. 命令远程连接ssh并执行命令,scp/ftp等远程连接操作同理: #!/usr/bin/expect ...
随机推荐
- QR Code 码
一.QR Code码 由日本Denso公司于1994年9月研制的一种矩阵二维码符号,它除具有一维条码及其它二维条码所有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防伪性强等优点外,还具有 ...
- jQuery 之 $(this) 出了什么问题?
近期在写jQuery的时候出了这样一个问题? <html> <head> <title></title> </head> <style ...
- 制作Orcad的变种BOM(Variant BOM)
通常在Orcad中画的原理图并不仅仅是用于一款产品.比如一个控制器原理图,可能相应着很多款子产品线,而这些子产品线之间的差别就是通讯口组件不同,少焊几个芯片,或者仅仅是少焊几个电阻. 可是这样交付生产 ...
- C++ 自定义结构体和类 内存对齐
为什么要提出内存对齐? 比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double类型的数据都从8倍数地址开始,那么读或写一个doubl ...
- enum型常量
就像结构体一样,定义一个枚举类型是不分配内存的,仅仅是定义了一个类型的名字,下面可以使用这个名字定义枚举类型的变量 枚举即将变量的值一一列举出来变量的值只限于列举出来的值得范围内 简单的应用如下 #i ...
- 关于C++ 的eof
#include<iostream> #include<fstream> #define MAXSIZE 1000 using namespace std; int main( ...
- No persister for 编译器每行执行两次的解决方法
是前台的 js 的 datagrid 部件加了 oncheck 事件引起
- [转] 解析LayoutSubviews
转自: http://www.cnblogs.com/YouXianMing/p/3897543.html 从百度上搜索了一下layoutSubviews的用处,以下是搜索的结果,当然,笔者是会一一验 ...
- eclipse+tomcat+maven debug的时候总是出现source not found /Edit lookup path...的问题解决方案
eclipse+tomcat+maven debug的时候总是出现source not found /Edit lookup path...的问题解决方案 这个问题纠结好久好久.... 问题出现的环 ...
- CentOS 添加常用 yum 源
CentOS 的官方源去掉了一些与版权有关的软件,因此想要安装这些软件或者手动下载安装,或者使用其他源. 下面我推荐常用的两个源, 这两个源基本可以满足一般服务器的使用需求. 首先, 添加源之前要确定 ...