使用命令参数

1.使用命令参数:

//安全系数高   不管事添加和删除凡是双引号劈开的都可以换成@..
cmd.CommandText = ".....@uid ....";
cmd.Parameters.Clear();每次使用时记得清屏
cmd.Parameters.AddWithValue("@uid","值")
cmd.ExecuteXXXXX();

Executescalar--标量的意思

count(*)--返回几行几列(统计函数:avg sum count ...)

Parameters--是参数的意思

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApplication21
{
    class Program
    {
        static const string CONNCTIONGSTRING = "server=.,database=mydb,uid=sa,pwd=123";
        static void Main(string[] args)
        {
            Console.WriteLine("请输入用户名:");
            string uid = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            string pwd = Console.ReadLine();
            bool isok = false;
            SqlConnection conn = new SqlConnection(CONNCTIONGSTRING);
            try
            {
                conn.Open();
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "select * from login where username=@u,pasword=@p";
                cmd.Parameters.AddWithValue("@u",uid);
                cmd.Parameters.AddWithValue("@p",pwd);
                SqlDataReader dr = cmd.ExecuteReader();
                isok = dr.HasRows;
            }
            finally
            {
                conn.Close();
            }

            Console.WriteLine(isok?"成功":"失败");
        }
    }
}
账号密码验证

2.ExecuteScalar()执行SQL语句,返回首行首列中的值。
它一般用来执行聚合函数的查询。

Transact-SQL 编程语言提供下列聚合函数:

例:select prd_no,avg(qty) from sales group by prd_no

2. COUNT 返回指定组中项目的数量。

例:select count(prd_no) from sales

3. MAX 返回指定数据的最大值。

例:select prd_no,max(qty) from sales group by prd_no

4. MIN 返回指定数据的最小值。

例:select prd_no,min(qty) from sales group by prd_no

5. SUM 返回指定数据的和,只能用于数字列
聚合函数

3.事务Transaction
ACID - A原子性。C一致性。I-隔离性。D持久性。
两类事务:
(一)链接内事务:在链接打开后,使用事务控制多条语句的执行。
1.创建事务对象。
SqlTransanction trans = conn.BeginTransaction(); //注意必须是链接打开后编写
2.把事务对象挂到命令对象上,让命令执行带有事务的功能。
cmd.Transaction = trans;

3.按照之前所讲得执行命令操作数据库
a.成功后调用事务对象的Commit()方法来提交执行的结果。////成功就提交
b.失败后调用事务对象的Rollback()方法来回滚执行前的状态。//失败就回滚

原文地址:https://www.cnblogs.com/thq1218/p/4488123.html