增删查改常用代码

简介: static string sqlcon = "server=.;database=;Integrated Security=true;"; /// /// 新增数据 /// public ...
static string  sqlcon = "server=.;database=;Integrated Security=true;";
        /// <summary>
        /// 新增数据
        /// </summary>
        public static void Add()
        {
            //string sqlcon = "server=.;database=;Integrated Security=true;";
            SqlConnection conn=new SqlConnection(sqlcon);            
            string sqlStr="insert into Boook(b_id,b_title,b_author,b_money)values(1,'ASP.NET','莫言',100)";
            SqlCommand cmd=new SqlCommand(sqlStr,conn);
            conn.Open();
            int i = cmd.ExecuteNonQuery();
            conn.Close();
            if (i>0)
            {
                Console.Write("新增成功!");
            } 
            else
            {
                Console.Write("新增失败!");
            }
        }
        /// <summary>
        /// 删除数据
        /// </summary>
        public static void Delete()
        {
            //string sqlcon = "server=.;database=;Integrated Security=true;";
            SqlConnection conn = new SqlConnection(sqlcon);
            string sqlStr = "delete from book where b_id=1";
            SqlCommand cmd = new SqlCommand(sqlStr,conn);
            conn.Open();
            int i = cmd.ExecuteNonQuery();
            conn.Close();
            if (i > 0)
            {
                Console.Write("删除成功!");
            }
            else
            {
                Console.Write("删除失败!");
            }
        }
        /// <summary>
        /// 数据更新,软删除
        /// </summary>
        private static void Update()
        {
            //string sqlcon = "server=.;database=;Integrated Security=true;";
            SqlConnection conn = new SqlConnection(sqlcon);
            string sqlStr = "update Boook set b_id =2 where b_id=1";
            SqlCommand cmd = new SqlCommand(sqlStr, conn);
            conn.Open();
            int i = cmd.ExecuteNonQuery();
            conn.Close();
            if (i > 0)
            {
                Console.Write("更新成功!");
            }
            else
            {
                Console.Write("更新失败!");
            }
        }
        /// <summary>
        /// 读取单个值
        /// </summary>
        private static void selectSingle()
        {
            SqlConnection conn = new SqlConnection(sqlcon);
            string sqlStr = "select * from Book";
            SqlCommand cmd = new SqlCommand(sqlStr, conn);
            conn.Open();
            object obj = cmd.ExecuteScalar();
            conn.Close();
            Console.Write(obj.ToString());
        }
        /// <summary>
        /// dateReader读取数据,逐行读取,通过下表访问列
        /// </summary>
        private static void dateReader()
        {
            SqlConnection conn = new SqlConnection(sqlcon);
            string sqlStr = "select * from Book";
            SqlCommand cmd = new SqlCommand(sqlStr, conn);
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())//如果读到下一行数据就返回True,且本身就属于那一行数据
                {
                    Console.Write(dr[0].ToString() + '_' + dr[1].ToString()+'_'+dr["ID"].ToString());
                }
            }
            else
            {
                Console.Write("无数据");
            }
            dr.Close();
            conn.Close();
        }

        //使用适配器填充数据集  SqlDataAdapter不需要手动开关,它能够自己开关
        public static void QueryListAdapter()
        {
            SqlConnection con = new SqlConnection(sqlcon);
            string sqlStr = "select*from book";
            SqlDataAdapter da = new SqlDataAdapter(sqlStr,con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            DataTable dt = ds.Tables[0];
            //循环数据表中的每一行
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];//将表中的一行拿出来给行对象
                Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());
            }
        }

        //使用适配器填充数据集  SqlDataAdapter不需要手动开关,它能够自己开关
        public static void QueryListAdapter2()
        {
            SqlConnection con = new SqlConnection(sqlcon);
            string sqlStr = "select*from book";
            SqlDataAdapter da = new SqlDataAdapter(sqlStr, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            DataTable dt = ds.Tables[0];
            //循环数据表中的每一行
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];//将表中的一行拿出来给行对象
                Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());
            }
        }
        //调用存储过程查询数据
        public static void QuerListByProc()
        {
            SqlConnection conn = new SqlConnection(sqlcon);
            SqlCommand cmd=new SqlCommand("usp_GetBookMyCateId",conn);
            //无参数的存储过程
            SqlParameter sp2 = new SqlParameter();
            sp2.ParameterName = "@cateId";
            sp2.SqlDbType = SqlDbType.Int;
            sp2.Value = 2;
            cmd.Parameters.Add(sp2);
            //有两个参数的存储过程
            SqlParameter sp = new SqlParameter("@cateId", 2);
            cmd.Parameters.Add(sp);
            SqlDataAdapter da = new SqlDataAdapter();
            DataTable dt = new DataTable();
            da.Fill(dt);
            foreach(DataRow dr in dt.Rows)
            {
                Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());
            }
        }
        //调用多个参数的存储过程查询
        private static void QueryListByProc2()
        {
            SqlConnection conn = new SqlConnection(sqlcon);
            SqlCommand cmd = new SqlCommand("proGetPageData", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            //尽量不要使用两个参数的存储过程,类型是枚举类型,另外一个两个参数的函数值混淆
            //SqlParameter par = new SqlParameter("@Id", DbType.Int32);
            //SqlParameter par = new SqlParameter("@id", 11);
            //赋值多个参数
            SqlParameter[] paras ={
                                     new SqlParameter("@pageIndex",SqlDbType.Int,4),//这里的4是代表整型的长度
                                     new SqlParameter("@pageSize",SqlDbType.Int,4)
                                 };
            //cmd.Parameters.AddRange(paras);
            paras[0].Value = 1;//搜索第一页
            paras[1].Value = 2;//赋值的
            cmd.Parameters.AddRange(paras);//为command对象添加pameters数组
            conn.Open();
            //SqlDataReader dr = cmd.ExecuteReader();
            //while (dr.Read())
            //{
            //    Console.Write("id=" + dr[0].ToString());
            //}
            //dr.Close();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                Console.WriteLine(dr[0].ToString() + "_" + dr[1].ToString());
            }
            conn.Close();
        }


        //调用带输出参数的存数过程
        private static void QuerListProc3()
        {
            SqlConnection conn = new SqlConnection(sqlcon);
            SqlCommand cmd = new SqlCommand("proGetData2", conn);
            SqlParameter[] paras ={
                                     new SqlParameter("@pageIndex",SqlDbType.Int),
                                     new SqlParameter("@pageSize",SqlDbType.Int),
                                     new SqlParameter("@pageCount",SqlDbType.Int),
                                     new SqlParameter("@rowCount",SqlDbType.Int)    
                                 };
            paras[0].Value = 1;
            paras[1].Value = 2;
            paras[2].Direction = ParameterDirection.Output;
            paras[3].Direction = ParameterDirection.Output;//设置参数的输出方向
            cmd.Parameters.AddRange(paras);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                Console.WriteLine(dr[0].ToString() + "_" + dr[1].ToString());
            }
            int pageCount=Convert.ToInt32(cmd.Parameters[2].Value);
            int rowCount=Convert.ToInt32(cmd.Parameters[3].Value);//获取输出参数
            Console.WriteLine("pageCount=" + pageCount + ",rowCount=" + rowCount);
        }

相关文章
|
17天前
|
存储 缓存 C++
C++链表常用的函数编写(增查删改)内附完整程序
C++链表常用的函数编写(增查删改)内附完整程序
实现顺序表增删查改的基本操作(纯代码版)
实现顺序表增删查改的基本操作(纯代码版)
|
9月前
|
存储 算法
【数据结构与算法】顺序表增删查改的实现(动态版本+文件操作)附源码
【数据结构与算法】顺序表增删查改的实现(动态版本+文件操作)附源码
55 0
【数据结构与算法】顺序表增删查改的实现(动态版本+文件操作)附源码
|
4月前
|
存储 算法 前端开发
第八章 查找【数据结构】【精致版】
第八章 查找【数据结构】【精致版】
45 0
|
4月前
|
算法
第九章 排序【数据结构】【精致版】
第九章 排序【数据结构】【精致版】
44 0
|
4月前
|
存储 人工智能 算法
C语言之“动态顺序表的增删改查及拥有附加功能的通讯录实现”
C语言之“动态顺序表的增删改查及拥有附加功能的通讯录实现”
|
5月前
|
存储 C语言
数据结构之手撕顺序表(讲解➕源代码)
数据结构之手撕顺序表(讲解➕源代码)
|
8月前
|
存储 测试技术 C语言
【数据结构】带你轻松拿捏顺序表(内附源码)
【数据结构】带你轻松拿捏顺序表(内附源码)
68 0
|
8月前
|
存储
【数据结构】顺序表和链表重点知识汇总(附有代码)
【数据结构】顺序表和链表重点知识汇总(附有代码)
|
11月前
|
存储 人工智能 算法
我爱啃书--单链表的整表创建删除和优点(大话数据结构)
我爱啃书--单链表的整表创建删除和优点(大话数据结构)
52 0