我是靠谱客的博主 感动大炮,最近开发中收集的这篇文章主要介绍C#执行数据数据库SqlCommand的返回值方法《新手学习数据库连接能避免的小坑》,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

**

首先常用的Sqlcommand对象方法

**
ExecuteNonQuery()方然用于增删改数据(返回影响数据库的行数)
ExecuteReader()方法用于查询多行多列(返回SqlDataReader)
ExecuteScalar()方法用于查询单行 (返回单行数据,可以是int或者是string,具体返回什么值要看数据库T-SQL查询的语句得出的数据类型)

下面来看一下具体怎么实现返回方法
先来看一下ExecuteNonQuery()方法用于增删改数据
有参有反的方法

		/// <summary>
        /// 数据库修改的方法
        /// </summary>
        /// <param name="sql">T-SQL增删改语句</param>
        /// <returns>返回影响多少行</returns>
        int XIU(string sql)
        {
            //创建连接字符串
            string str = "server=.;database=Library;uid=sa;";
            //调用连接字符串的对象;注意里面的参数是连接字符串
            SqlConnection con = new SqlConnection(str);
            //创建一个接收ExecuteNonQuery返回值的变量i
            int i = 0;
            try
            {
                //创建执行对象Sqlcommand
                SqlCommand cmd = new SqlCommand(sql, con);
                //打开连接
                con.Open();
                //调用方法并接收返回数据库所受影响的行数
                i = cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {
                Console.WriteLine("程序错误");
                //throw;
            }
            finally
            {
                //关闭连接
                con.Close();

            }
            //返回接收影响的行数
            return i;
        }

接下来第二个ExecuteReader()方法用于查询多行多列
这是我创建的无反无参的方法
其他连接部分一样只是执行部分有所区别
占时还不知道怎样改成有参有反的方法

        /// <summary>
        /// 查询数据库的方法
        /// </summary>
        /// <param name="sql">T-SQL查询语句</param>
        void CHA()
        {
            string str = "server=.;database=Library;uid=sa;pwd=sasa";
            SqlConnection con = new SqlConnection(str);
            //请创建一个SqlDataReader  读取器类型
            SqlDataReader select = null;
            try
            {
                string sql = @"SELECT id,name,typeName,number,price 
                                   FROM dbo.Book B
                                   INNER JOIN dbo.Booktype K
                                   ON B.typeId=K.typeID";
                SqlCommand cmd = new SqlCommand(sql,con);
                con.Open();
                //用它接收返回的所有数据
                select=cmd.ExecuteReader();
                if (select.HasRows)
                {
                    Console.WriteLine("书号t书名t书类型t数量t价格");	
                    //循环接收并打印,记得数据的转换
                    while (select.Read())
                    {
                        int id = Convert.ToInt32(select["id"]);
                        string name = select["name"].ToString();
                        string typeName = select["typeName"].ToString();
                        int number = Convert.ToInt32(select["number"]);
                        double price = Convert.ToDouble(select["price"]);
                        Console.WriteLine("{0}t{1}t{2}t{3}t{4}", id, name, typeName, number, price);
                    }
                }
            }
            catch (Exception)
            {
                Console.WriteLine("输入错误");
                //throw;
            }
            finally
            {
                //使用完后一定需要关闭,读取器的连接
                select.Close();
                con.Close();
            }
        }

ExecuteScalar()方法用于查询单行
第三个也是有参有反的方法
这个方法的代码量就少许多

        /// <summary>
        /// 查询返回单列
        /// </summary>
        /// <param name="sql">T-SQL查询单行单列语句</param>
        /// <returns>返回int类型</returns>
        int CHAd(string sql)
        {
            string str = "server=.;database=Library;uid=sa;pwd=sasa";
            SqlConnection con = new SqlConnection(str);
            int i = 0;
            try
            {
                SqlCommand cmd = new SqlCommand(sql,con);
                con.Open();
                i= Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch (Exception)
            {
                Console.WriteLine("程序出错");
                //throw;
            }
            finally
            {
                con.Close();
            }

            return i;
        }

最后

以上就是感动大炮为你收集整理的C#执行数据数据库SqlCommand的返回值方法《新手学习数据库连接能避免的小坑》的全部内容,希望文章能够帮你解决C#执行数据数据库SqlCommand的返回值方法《新手学习数据库连接能避免的小坑》所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部