C#连接SQL Server数据库(二)
执行SQL语句:Command对象
1.Command对象概述
Command对象是一个数据命令对象,主要功能是向数据库发送查询、更新、删除、修改操作的SQL语句。Command对象主要有以下几种方式。
SqlCommand:用于向SQL Server数据库发送SQL语句,位于System.Data.SqlClient命名空间。
OleDbCommand:用于向使用OLEDB公开的数据库发送SQL语句,位于System.Data.OleDb命名空间。例如,Access数据库和MySQL数据库都是OLEDB公开的数据库。
OdbcCommand:用于向ODBC公开的数据库发送SQL语句,位于System.Data.Odbc命名空间。有些数据库如果没有提供相应的连接程序,则可以配置好ODBC连接后,使用OdbcCommand。
OracleCommand:用于向Oracle数据库发送SQL语句,位于System.Data.OracleClient命名空间。
2.设置数据源类型
Command对象有3个重要的属性,分别是Connection、CommandText和CommandType。Connection属性用于设置SqlCommand使用的SqlConnection。CommandText属性用于设置要对数据源执行的SQL语句或存储过程。CommandType属性用于设置指定CommandText的类型。CommandType属性的值是CommandType枚举值,CommandType枚举有3个枚举成员,分别介绍如下。
StoredProcedure:存储过程的名称。
TableDirect:表的名称。
Text:SQL文本命令。
如果要设置数据源的类型,则可以通过设置CommandType属性来实现。
3.执行SQL语句
Command对象需要取得将要执行的SQL语句,通过调用该类提供的多种方法,向数据库提交SQL语句。下面详细介绍SqlCommand对象中的几种执行SQL语句的方法。
1.ExecuteNonQuery方法
执行SQL语句,并返回受影响的行数,在使用SqlCommand向数据库发送增、删、改命令时,通常使用ExecuteNonQuery方法执行发送的SQL语句。
private void button1_Click(object sender, EventArgs e)
{
string connString = "server=.;database=denglu;uid=test;pwd=test;connect timeout=5";
SqlConnection sqlconn = new SqlConnection(connString);
sqlconn.Open();
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.Connection = sqlconn;
sqlcmd.CommandText = "update Users set password=888 where username='哈哈哈'";
sqlcmd.CommandType = CommandType.Text;
//int i = Convert.ToInt32(sqlcmd.ExecuteNonQuery()); //ExecuteNonQuery返回受影响的行数
//MessageBox.Show(i.ToString());
}
2.ExecuteReader方法
执行SQL语句,并生成一个包含数据的SqlDataReader对象的实例。
代码:
private void button1_Click(object sender, EventArgs e)
{
string connString = "server=.;database=denglu;uid=test;pwd=test;connect timeout=5";
SqlConnection sqlconn = new SqlConnection(connString);
sqlconn.Open();
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.Connection = sqlconn;
sqlcmd.CommandText = "select password from users";
sqlcmd.CommandType = CommandType.Text;
//使用ExecuteReader方法实例化一个SqlDataReader对象
SqlDataReader sdr = sqlcmd.ExecuteReader();
while (sdr.Read())
{
listView1.Items.Add(sdr[0].ToString());
}
sqlconn.Dispose();
button1.Enabled = false;
}
界面:
3.ExecuteScalar方法
执行SQL语句,返回结果集中的第一行的第一列
代码:
```
SqlConnection sqlConnection;
private void Form2_Load(object sender, EventArgs e)
{
string connString = "server=.;database=TBWRIMS;uid=test;pwd=test;connect timeout=5";
sqlConnection = new SqlConnection(connString);
sqlConnection.Open();
}
private void btn1_Click(object sender, EventArgs e)
{
try
{
if (sqlConnection.State == ConnectionState.Open || txt1.Text != "")
{
SqlCommand sqlCommand = new SqlCommand(); //***
sqlCommand.Connection = sqlConnection; //设置Connection属性
sqlCommand.CommandText = "select count(*) from" + txt1.Text.Trim(); // 设置CommandText属性,以及SQL语句
sqlCommand.CommandType = CommandType.Text; //设置CommandType属性为Text,使其只执行SQL语句
int i = Convert.ToInt32(sqlCommand.ExecuteScalar()); //使用ExecuteScalar方法获取指定数据表中的数据数量
lab2.Text = "数据表中共有:"+ i.ToString() + "条数据";
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
  <b>界面:</b>
<center><img src="https://img2018.cnblogs.com/blog/1849125/202001/1849125-20200131160758181-363282996.png" width="400" height="150"></center>
C#连接SQL Server数据库(二)的更多相关文章
- JeeSite如何正确连接SQL SERVER 数据库
JeeSite如何正确连接SQL SERVER 数据库 jeesite介绍 感谢jeesite项目的作者thinkgem. 没有你我也不会更改这数据源非了恁大的劲,,,,嘻嘻嘻说多了. JeeSite ...
- Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统
Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...
- Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库
本文主要涉及: VBA中的SQL Server环境配置 VBA连接SQL Server数据库 VBA读写SQL Server数据 如何安装SQL Client 系统环境: Windows 7 64bi ...
- python 使用pymssql连接sql server数据库
python 使用pymssql连接sql server数据库 #coding=utf-8 #!/usr/bin/env python#------------------------------ ...
- NetBeans连接SQL server数据库教程
不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...
- 【转】PowerShell 连接SQL Server 数据库 - ADO.NET
转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...
- JDBC连接sql server数据库及其它
JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...
- ThinkPHP连接sql server数据库
亲身经历,在网上找连接sql server数据库的方法,还是不好找的,大多数都是照抄一个人的,而这个人的又写的不全,呵呵,先介绍一下我连接的方法吧.如果你是用THINKPHP连接,那么最重要的就是配置 ...
- JDBC连接sql server数据库的详细步骤和代码
JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...
- python连接sql server数据库实现增删改查
简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...
随机推荐
- gulp 对js\css进行md5 加密
有的服务器为了网站加载速度,会做服务器缓存,这样就会出现代码出现引用地址没变,新代码不生效,而我们又希望新代码可以及时生效,这样我们就需要避免缓存,当然也有很多方法,本文只介绍使用gulp-rev(对 ...
- Cannot resolve collation conflict between "Chinese_Taiwan_Stroke_CI_AS" and "Chinese_PRC_CI_AS" in UNION ALL operator occurring in SELECT statement column 1.
Cannot resolve collation conflict between . 解决方案: COLLATE Chinese_PRC_CI_AS 例子: SELECT A.Name FROM A ...
- 机器学习作业(七)非监督学习——Matlab实现
题目下载[传送门] 第1题 简述:实现K-means聚类,并应用到图像压缩上. 第1步:实现kMeansInitCentroids函数,初始化聚类中心: function centroids = kM ...
- centos7添加多个网段
# service network restart是重启所有网卡.例如下面的例子:>ifconfig eth0 up|down>service network restart|start| ...
- [TJOI2013] 拯救小矮人- 贪心,dp
结论:矮的人比高的人先走一定不会使得答案变劣 于是我们排序后,像 0-1 背包那样依次考虑每个人走不走 #include <bits/stdc++.h> using namespace s ...
- PP: Tripoles: A new class of relationships in time series data
Problem: ?? mining relationships in time series data; A new class of relationships in time series da ...
- 巨杉学习笔记 | SequoiaDB MySQL导入导出工具使用实战
本文来自社区用户投稿,感谢这位小伙伴的技术分享 巨杉数据库架构简介 巨杉数据库作为分布式数据库是计算和存储分离架构,由数据库实例层和存储引擎层组成的.存储引擎层负责数据库核心功能比如数据读写存储以及分 ...
- 棋盘划分问题中4的k次方减一是三的倍数
1.数学归纳法(万物皆可数学归纳) ①当n=1时:4-1=3(是三的倍数) ②假设n-1成立证明n成立:4n-1=4n-1*(4-1)+4n-1-1 =3*4n-1+(4n-1-1) 所以4n-1%3 ...
- Linux下基于PAM机制的USB Key的制作
摘自:https://server.zzidc.com/fwqpz/157.html USB Key这个概念最早是由加密锁厂家提出来的,加密锁是用来防止软件盗版的硬件产品,加密锁的概念是使安装在计算机 ...
- Learn from Niu 2020.1.13
观念: 1. 把可视化的东西拾起来, 毕竟是做那个出身的. 2. 可视化里面时序数据,时空数据一直都是非常重要的. 3. know your data永远是最重要的一步, 我想更好的方式是,数据驱动, ...