📄 productdaoimpl.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 + -