C#中SQL Command的基本用法

2020-01-05 09:42:19王冬梅

Command 常用属性
CommText 要下达至数据源的命令
CommanTimeout 出错等待时间

Command 三种方法

  • ExecuteNonQuery() 不返回值 ,一般应用于insert,update,delete语句中
  • ExecuteScalar() 返回一个值,一般用于放回一个值的语句,如需求数据统计的count语句,求最大数Max语句等
  • ExcuteReader() 返回一个IDataReader,可以用于迭代返回记录

    代码示例:

    
    using System;
    using System.Data.SqlClient;
    namespace CommandDemo
    {
      class Program
      {
        static void Main(string[] args)
        {
          //创建数据库
          string constr = "Server = .; user=name;pwd=mima;database=mysql";
          SqlConnection myCon = new SqlConnection(constr);
          try
          {
            myCon.Open();
            /*创建一个表
            string sql = "select * form mytable01";
            SqlCommand myCom = new SqlCommand(sql, myCon);
            myCom.CommandTimeout = 2; //出错的等待时间,2s内没有成功就认为出错了 
            Console.WriteLine("创建对象成功");*/
            /*-------更改数据 ExcuteNonquery 插入语句举例----------
            myCon.Open();
            //添加数据
            string sql = "insert mytable01(name,gender,age,department)values('姓名','男',35,'部门')";
            SqlCommand myCom = new SqlCommand(sql, myCon);
            myCom.ExecuteNonQuery();
            Console.WriteLine("去数据库查看,已完成");
            */
            //ExcuteScalar  获得最大值举例
            myCon.Open();
            string sql = "select max(age) from mytable01";
            SqlCommand myCom = new SqlCommand(sql,myCon);
            Console.WriteLine("年龄最大的是:"+myCom.ExecuteScalar()+"岁");
          }
          catch(Exception ex)
          {
            Console.WriteLine(ex.Message.ToString());
          }
          finally
          {
            myCon.Close();
          }
          Console.Read();
        }
      }
    }