数据库命令的应用

浏览: 180 发布日期: 2017-12-18 分类: visual-studio

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();                                              //密码文本框内所有文本被选中;
            }

参数传递

异常处理


返回顶部