专栏首页学习有记数据库命令的应用

数据库命令的应用

.SQL命令 SqlCommand

SqlCommand负责完成对数据库的查询、添加、删除和修改等各种操作。

SqlCommand对象的创建

SqlCommand sqlcom = new SqlCommand() 
sqlCom.Connection = sqlConn;                                          //再将SQL命令的属性Connection指向SQL连接

SqlCommand sqlCom = new SqlCommand(命令字符串,连接对象名); 

SqlCommand对象的三种常用的命令格式: 1)sqlcom.ExecuteReader 返回一个reader对象 2)sqlcom.ExecuteNonQuery 返回一个整数,通常用在插入、删除、更新时受影响的行数 3)sqlcom.ExecuteScalar 返回检索的一个值,通常用于查询聚合函数

ExecuteNonQuery方法

对连接执行 Transact-SQL 语句并返回受影响的行数。常用于对数据库的添加、删除和修改等各种操作。

private void btn_LogIn_Click(object sender, EventArgs e)
{
    SqlConnection sqlConnection = new SqlConnection();                              //声明并实例化SQL连接;
    sqlConnection.ConnectionString =
        "Server=(local);Database=EduBaseDemo;Integrated Security=sspi";             //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
    SqlCommand sqlCommand = new SqlCommand();                                       //声明并实例化SQL命令;
    sqlCommand.Connection = sqlConnection;                                          //将SQL命令的属性Connection指向SQL连接;
    sqlCommand.CommandText =                                                        //指定SQL命令的命令文本;
        "delete from tb_User where No='3140707001'; ";           
    sqlConnection.Open();                                                           //打开SQL连接;
    if (sqlcmd.ExecuteNonQuery() > 0)                 MessageBox.Show("记录已删除!");             
    else                  MessageBox.Show("未找到相关记录!");
    sqlConnection.Close();                                                          //关闭SQL连接;

##### ExecuteScalar方法

对连接执行 Transact-SQL 语句并返回一个值。常用于返回COUNT(*)、SUM()、AVG()等聚合函数的值。

SqlConnection sqlConnection = new SqlConnection();                              //声明并实例化SQL连接;
            sqlConnection.ConnectionString =
                "Server=(local);Database=EduBaseDemo;Integrated Security=sspi";             //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
            SqlCommand sqlCommand = new SqlCommand();                                       //声明并实例化SQL命令;
            sqlCommand.Connection = sqlConnection;                                          //将SQL命令的属性Connection指向SQL连接;
            sqlCommand.CommandText =                                                        //指定SQL命令的命令文本;命令文本由字符串拼接而成;
                "SELECT COUNT(1) FROM tb_User"
                + " WHERE No='" + this.txb_UserNo.Text.Trim() + "'"                         //将文本框的文本清除首尾的空格后,拼接至命令文本中;
                + " AND Password=HASHBYTES('MD5','" + this.txb_Password.Text.Trim() + "');";           
            sqlConnection.Open();                                                           //打开SQL连接;
            int rowCount = (int)sqlCommand.ExecuteScalar();                                 //调用SQL命令的方法ExecuteScalar来执行命令,并接受单个结果(即标量);
                                                                                            //执行标量的返回结果类型为object,可通过强制类型转换,转为整型;
            MessageBox.Show(sqlCommand.CommandText);
            sqlConnection.Close();                                                          //关闭SQL连接;
            if (rowCount == 1)                                                              //若查得所输用户号相应的1行记录;
            {
                MessageBox.Show("登录成功。");                                              //给出正确提示;
            }
            else                                                                            //否则;
            {
                MessageBox.Show("用户号/密码有误,请重新输入!");                           //给出错误提示;
                this.txb_Password.Focus();                                                  //密码文本框获得焦点;
                this.txb_Password.SelectAll();                                              //密码文本框内所有文本被选中;
            }

参数传递

异常处理


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据库连接对象的使用

    Woodson
  • SQL Server 复制进阶:Level 1 - SQL Server 复制

    Woodson
  • T-SQL进阶:超越基础 Level 9:动态T-SQL代码

    Woodson
  • 追寻完美:数据库SQL优化极致 之 关心隐藏的部分

    张中靖 云和恩墨技术专家,软件研发总监 我们先来听一个【老木匠和小木匠的故事】 同样做柜子,老木匠做的是两面光,柜子内外摸起来一样光滑、不扎手;而小木匠做的,大...

    数据和云
  • 三行SQL代码中隐藏的数据库书单

    我不知道什么样的群,算是有意思。但你要进了群,一言不发,那肯定是找不到有意思的事情。

    Lenis
  • 「ShardingSphere」SQL 解析器源码剖析

    自从上周写了一个 ShardingSphere 简单入门之后,突然对这个产品产生了浓厚的兴趣。

    FoamValue
  • 高级复制中如何应对主体站点故障

    « 在高级复制中如何切换主体定义站点 | Blog首页 | 自己动手,丰衣足食 »

    数据和云01
  • SparkSQL技巧——如何识别SQL语句 和 执行一个SQL文件

    SparkSQL好像没有提供相关的Api, 至少我是没有找到。 于是我自己写了一个.... 代码很简单, 如下:

    solve
  • SYN洪水攻击原理

    SYN Flood 或称 SYN洪水、SYN洪泛是一种阻断服务攻击,起因于攻击者传送一系列的SYN请求到目标系统。 用户和服务器之间的正常连接,正确执行3次...

    墨者安全科技
  • 完整java开发中JDBC连接数据库代码和步骤

    E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

    Hongten

扫码关注云+社区

领取腾讯云代金券