⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 productdaoimpl.cs

📁 一个超市管理系统,没有错误,非常好,里面什么都有!很使用,很有用
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;

//导入此命名空间,可以使用Sqlconnection类、 SqlDataReader类、SqlCommand类 等
using System.Data;
using System.Data.SqlClient;
//导入此命名空间,可以使用连接类ConnectionDatabase
using DaFanRongMIS.Model.Common;

namespace DaFanRongMIS.Model.Product
{
    class ProductDAOImpl: ProductDAO
    {

        //定义命令对象cmd
        SqlCommand cmd = null;


        #region 添加方法

        public string AddProduct(ProductEntity product)
        {
            //字符串变量str,用于接收执行方法的返回值
            string str = "";


            //使用命令参数形式:SqlParameter
            try
            {
                //实例化命令对象,并传递增加语句
                cmd = new SqlCommand("insert into Product values(@id,@name,@pinname,@image,@price,@unitid,@categoryid,@memo)", ConnectionDataBase.getConOpen());
                //指定参数列表
                
                SqlParameter paraid = new SqlParameter("@id", SqlDbType.VarChar, 12);
                paraid.Value = product.ID;
                cmd.Parameters.Add(paraid);

                SqlParameter paraname = new SqlParameter("@name", SqlDbType.VarChar, 30);
                paraname.Value = product.Name;
                cmd.Parameters.Add(paraname);

                SqlParameter parapinname = new SqlParameter("@pinname", SqlDbType.VarChar, 50);
                parapinname.Value = product.PinName;
                cmd.Parameters.Add(parapinname);

                SqlParameter paraimage = new SqlParameter("@image", SqlDbType.VarChar, 250);
                paraimage.Value = product.Image;
                cmd.Parameters.Add(paraimage);

                SqlParameter paraprice = new SqlParameter("@price", SqlDbType.Decimal);
                paraprice.Value = product.Price;
                cmd.Parameters.Add(paraprice);

                SqlParameter paraunitid = new SqlParameter("@unitid", SqlDbType.VarChar, 2);
                paraunitid.Value = product.UnitID;
                cmd.Parameters.Add(paraunitid);

                SqlParameter paracategoryid = new SqlParameter("@categoryid", SqlDbType.VarChar, 2);
                paracategoryid.Value = product.CateGoryID;
                cmd.Parameters.Add(paracategoryid);

                SqlParameter paramemo = new SqlParameter("@memo", SqlDbType.VarChar, 2000);
                paramemo.Value = product.Memo;
                cmd.Parameters.Add(paramemo);


                //执行增加语句
                cmd.ExecuteNonQuery();

                //执行成功,返回OK
                str = "OK";
            }
            catch (Exception ee)
            {
                //错误,返回错误信息
                str = ee.Message;
            }
            finally
            {
                ConnectionDataBase.getConClose();
            }

            //返回str的值
            return str;
        }//end method AddProduct
        #endregion

        #region 修改方法
 
        public string UpdateProduct(ProductEntity product)
        {
            //字符串变量str,用于接收执行方法的返回值
            string str = "";


            //使用命令参数形式:SqlParameter
            try
            {
                //实例化命令对象,并传递增加语句
                cmd = new SqlCommand("update  Product set name= @name,pinname=@pinname,image=@image,price=@price,unitid=@unitid,categoryid=@categoryid ,memo= @memo where id=@id", ConnectionDataBase.getConOpen());
                //指定参数列表

                SqlParameter paraid = new SqlParameter("@id", SqlDbType.VarChar, 12);
                paraid.Value = product.ID;
                cmd.Parameters.Add(paraid);

                SqlParameter paraname = new SqlParameter("@name", SqlDbType.VarChar, 30);
                paraname.Value = product.Name;
                cmd.Parameters.Add(paraname);

                SqlParameter parapinname = new SqlParameter("@pinname", SqlDbType.VarChar, 50);
                parapinname.Value = product.PinName;
                cmd.Parameters.Add(parapinname);

                SqlParameter paraimage = new SqlParameter("@image", SqlDbType.VarChar, 250);
                paraimage.Value = product.Image;
                cmd.Parameters.Add(paraimage);

                SqlParameter paraprice = new SqlParameter("@price", SqlDbType.Decimal);
                paraprice.Value = product.Price;
                cmd.Parameters.Add(paraprice);

                SqlParameter paraunitid = new SqlParameter("@unitid", SqlDbType.VarChar, 2);
                paraunitid.Value = product.UnitID;
                cmd.Parameters.Add(paraunitid);

                SqlParameter paracategoryid = new SqlParameter("@categoryid", SqlDbType.VarChar, 2);
                paracategoryid.Value = product.CateGoryID;
                cmd.Parameters.Add(paracategoryid);

                SqlParameter paramemo = new SqlParameter("@memo", SqlDbType.VarChar, 2000);
                paramemo.Value = product.Memo;
                cmd.Parameters.Add(paramemo);


                //执行修改语句
                cmd.ExecuteNonQuery();

                //执行成功,返回OK
                str = "OK";
            }
            catch (Exception ee)
            {
                //错误,返回错误信息
                str = ee.Message;
            }
            finally
            {
                ConnectionDataBase.getConClose();
            }

            //返回str的值
            return str;
        }//end method UpdateProduct
        #endregion

        #region 删除方法

        public string DeleteProduct(string id)
        {
            //字符串变量str,用于接收执行方法的返回值
            string str = "";


            //使用命令参数形式:SqlParameter
            try
            {
                //实例化命令对象,并传递增加语句
                cmd = new SqlCommand("delete from  Product where id=@id", ConnectionDataBase.getConOpen());
                //指定参数列表


                SqlParameter paraid = new SqlParameter("@id", SqlDbType.VarChar, 12);
                paraid.Value = id;
                cmd.Parameters.Add(paraid);


                //执行删除语句
                cmd.ExecuteNonQuery();

                //执行成功,返回OK
                str = "OK";
            }
            catch (Exception ee)
            {
                //错误,返回错误信息
                str = ee.Message;
            }
            finally
            {
                ConnectionDataBase.getConClose();
            }

            //返回str的值
            return str;
        }//end method DeleteProduct
        #endregion

        #region 此方法按类别编号查询,返回此类别的纪录数,用于产品模块录入操作生成自动编号
        public string SelectProductMaxID(string cateid)
        {
            //整形变量,用于接收满足条件的行数
            string i;
            try
            {
                cmd = new SqlCommand("select top 1 substring(id,3,3) from Product where substring(id,1,2)='" + cateid + "' order by id desc", ConnectionDataBase.getConOpen());
                i = cmd.ExecuteScalar().ToString();
            }
            catch (Exception ee)
            {
                i = "-1";
            }
            finally
            {
                ConnectionDataBase.getConClose();
            }
            return i;
        }
        #endregion

        #region 按类别编号字段查询方法,返回满足条件的记录数,用于类别模块删除功能
        public int SelectProductbyCategoryID(string categoryid)
        {
            //整形变量,用于接收满足条件的行数
            int i;
            try
            {
                cmd = new SqlCommand("select Count(*) from Product where Categoryid='" + categoryid + "'", ConnectionDataBase.getConOpen());
                i = Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch (Exception ee)
            {
                i = -1;
            }
            finally
            {
                ConnectionDataBase.getConClose();
            }
            return i;
        }
        #endregion

        #region 按计量单位编号字段查询方法,返回满足条件的记录数,用于类别模块删除功能
        public int SelectProductbyUnitID(string unitid)
        {
            //整形变量,用于接收满足条件的行数
            int i;
            try
            {
                cmd = new SqlCommand("select Count(*) from Product where unitid='" + unitid + "'", ConnectionDataBase.getConOpen());
                i = Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch (Exception ee)
            {
                i = -1;
            }
            finally
            {
                ConnectionDataBase.getConClose();
            }
            return i;
        }
        #endregion

        #region 按指定条件到视图中进行模糊查询,用于产品模块查询功能
        /**
         * 参数:字符串-----产品名称、拼音码、计量单位名、类别名
         * 返回值:DataTable----产品名称、拼音码、价格、计量单位名、类别名、产品编号、计量单位编号、类别编号、备注
         * 视图:V_Product_Unit_CateGory
         */
        public DataTable SelectProduct(string productname, string pinname,string unitname,string catename)
        {
            //数据表类型变量,用于接收满足查询条件的结果
            DataTable dt;
            try
            {
                //声明适配器对象da
                SqlDataAdapter da = new SqlDataAdapter();
                //定义数据集对象ds
                DataSet ds = new DataSet();

                //测试字符串
                //   string str = "select * from V_Shop_Kitchen where shopname like '%"+shopname+"%' and kitchenname like '%"+kitchenname+"%'";

                //使用参数方式查询
                cmd = new SqlCommand("select * from V_Product_Unit_CateGory where PName like @pname and PinName like @pinname and UName like @uname and CName like @cname", ConnectionDataBase.getConOpen());

                //指定参数列表
                SqlParameter paraproductname = new SqlParameter("@pname", SqlDbType.VarChar, 31);    //此处指定的长度比数据库中长一个字符,是为了查询需要
                paraproductname.Value = "%" + productname + "%";
                cmd.Parameters.Add(paraproductname);

                SqlParameter parapinname = new SqlParameter("@pinname", SqlDbType.VarChar, 21);        //此处指定的长度比数据库中长一个字符,是为了查询需要
                parapinname.Value = "%" + pinname + "%";
                cmd.Parameters.Add(parapinname);


                SqlParameter paraunitname = new SqlParameter("@uname", SqlDbType.VarChar, 21);        //此处指定的长度比数据库中长一个字符,是为了查询需要
                paraunitname.Value = "%" + unitname + "%";
                cmd.Parameters.Add(paraunitname);

                SqlParameter paracatename = new SqlParameter("@cname", SqlDbType.VarChar, 21);        //此处指定的长度比数据库中长一个字符,是为了查询需要
                paracatename.Value = "%" + catename + "%";
                cmd.Parameters.Add(paracatename);


                //指定适配器属性SelectCommand,与命令对象绑定
                da.SelectCommand = cmd;

                //将查询结果到数据集中,以表的形式存在
                da.Fill(ds, "kitchen");

                //得到这张表的记录,返回给变量dt
                dt = ds.Tables["kitchen"];


            }
            catch (Exception ee)
            {
                dt = null;
            }
            finally
            {
                ConnectionDataBase.getConClose();
            }
            return dt;

        }
        #endregion



     

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -