执行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);
}
}
&emsp;&emsp;<b>界面:</b>
<center><img src="https://img2018.cnblogs.com/blog/1849125/202001/1849125-20200131160758181-363282996.png" width="400" height="150"></center>

C#连接SQL Server数据库(二)的更多相关文章

  1. JeeSite如何正确连接SQL SERVER 数据库

    JeeSite如何正确连接SQL SERVER 数据库 jeesite介绍 感谢jeesite项目的作者thinkgem. 没有你我也不会更改这数据源非了恁大的劲,,,,嘻嘻嘻说多了. JeeSite ...

  2. Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统

    Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...

  3. Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库

    本文主要涉及: VBA中的SQL Server环境配置 VBA连接SQL Server数据库 VBA读写SQL Server数据 如何安装SQL Client 系统环境: Windows 7 64bi ...

  4. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  5. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  6. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

  7. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

  8. ThinkPHP连接sql server数据库

    亲身经历,在网上找连接sql server数据库的方法,还是不好找的,大多数都是照抄一个人的,而这个人的又写的不全,呵呵,先介绍一下我连接的方法吧.如果你是用THINKPHP连接,那么最重要的就是配置 ...

  9. JDBC连接sql server数据库的详细步骤和代码

    JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...

  10. python连接sql server数据库实现增删改查

    简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...

随机推荐

  1. 2019牛客多校第一场H XOR 线性基模板

    H XOR 题意 给出一组数,求所有满足异或和为0的子集的长度和 分析 n为1e5,所以枚举子集肯定是不可行的,这种时候我们通常要转化成求每一个数的贡献,对于一组数异或和为0.我们考虑使用线性基,对这 ...

  2. 实用技巧之while里面使用getchar或sleep函数

    我们经常需要打印一些变量的取值来调试程序,使用while(1)是常用的手段. ) { char letter = getchar(); printf("test_point is %d \t ...

  3. Opencv之像素值的获取

    灰度图像${\rm{M}} \times {\rm{N}}$的像素矩阵值为0~255,像素值越大越亮.${{\rm{I}}_{{\rm{i}}{\rm{j}}}}$,i表示行的位置,j 表示列的位置即 ...

  4. C++记录(二)

    1.算术移位和逻辑移位. 逻辑移位是只补0,算术移位是看符号,负数补1,正数补0(讨论的是右移的情况下). 负数左移右边一样补0.如果遇到位运算的相关题目需要对int变量进行左移而且不知道正负,那么先 ...

  5. Python的特点

    简单易学. 免费开源. 跨平台. 解释性.不需要编译就可以直接运行,使用更加简单,移植性更强. 面向对象.arcgis也支持面向对象编程.

  6. 介绍axios和promise

    今天小编为大家带来 axios 和promise的详细讲解,包含 axios的使用方法 多种写法,封装 以及 promise的详细讲解,项目中如何运用等,会一一的为大家讲解清楚. 一.axios的介绍 ...

  7. 安装vmware tools后仍然不能拖拽文件

    运行/usr/bin/vmware-user文件 ./vmware-user

  8. 06 部署redis缓存数据库

    1 安装redis $ sudo apt-get install redis-server 安装完成后,Redis服务器会自动启动,检查Redis服务器程序 注:在安装过程中,腾讯服务器会中途停止. ...

  9. Codeforces Round #600 (Div. 2) A. Single Push

    #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; int T,n ...

  10. python3练习100题--024

    因为过生日,好几天没做题了,有点松懈. 我要更加加油啦-为了打败现在每天都厌恶的生活! 原题链接:http://www.runoob.com/python/python-exercise-exampl ...