I.
Question
[Link]:
1 2 3 4 5 6 7 8 9 10
A C H E I J F G F G
[Link]/false
1 2 3 4 5 6 7 8 9 10
T F F F T T T T F F
3. Fill the gap for correcting answer
p_PRODUCTNAMEEN in PRODUCT_TBL.PRODUCTNAMEEN%type default null,
p_PROUDUCID in PRODUCT_TBL.PROUDUCID%type,
p_PRODUCTNAMEKH in PRODUCT_TBL.PRODUCTNAMEKH%type default null,
p_QTYONHAND in PRODUCT_TBL.QTYONHAND%type default null,
p_UNITPRICE in PRODUCT_TBL.UNITPRICE%type default null,
p_CATEGORYID in PRODUCT_TBL.CATEGORYID%type default null,
p_BARCODE in PRODUCT_TBL.BARCODE%type default null,
p_UNITCOST in PRODUCT_TBL.UNITCOST%type default null,
p_REORDER in PRODUCT_TBL.QTYREORDER%type default null, -- Assuming "REORDER" is intended to
refer to a "QTYREORDER" or similar field, as "REORDER" was not previously defined.
p_EXPIREDDATE in PRODUCT_TBL.EXPIREDDATE%type default null);
II. CODING
[Link] the package API
create or replace package body PRODUCT_TBL_tapi
is
-- insert
procedure ins (
p_ProductNameEn in PRODUCT_TBL.PRODUCTNAMEEN%type default null,
p_ProductID in PRODUCT_TBL.PRODUCTID%type,
p_ProductNameKh in PRODUCT_TBL.PRODUCTNAMEKH%type default null,
p_QtyOnHand in PRODUCT_TBL.QTYONHAND%type default null,
p_UnitPrice in PRODUCT_TBL.UNITPRICE%type default null,
p_CategoryID in PRODUCT_TBL.CATEGORYID%type default null,
p_Barcode in PRODUCT_TBL.BARCODE%type default null,
p_UnitCost in PRODUCT_TBL.UNITCOST%type default null,
p_Reorder in PRODUCT_TBL.QTYREORDER%type default null,
p_ExpiredDate in PRODUCT_TBL.ExpiredDate %type default null
) is
begin
insert into PRODUCT_TBL(
PRODUCTNAMEEN,
PRODUCTID,
PRODUCTNAMEKH,
QTYONHAND,
UNITPRICE,
CATEGORYID,
BARCODE,
UNITCOST,
REORDER,
EXPIREDDATE
) values (
p_ProductNameEn,
p_ProductID,
p_ProductNameKh,
p_QtyOnHand,
p_UnitPrice,
p_CategoryID,
p_Barcode,
p_UnitCost,
p_Reorder,
p_ExpiredDate );end;
-- update
procedure upd (
p_ProductNameEn in PRODUCT_TBL.PRODUCTNAMEEN%type default null,
p_ProductID in PRODUCT_TBL.PRODUCTID%type,
p_ProductNameKh in PRODUCT_TBL.PRODUCTNAMEKH%type default null,
p_QtyOnHand in PRODUCT_TBL.QTYONHAND%type default null,
p_UnitPrice in PRODUCT_TBL.UNITPRICE%type default null,
p_CategoryID in PRODUCT_TBL.CATEGORYID%type default null,
p_Barcode in PRODUCT_TBL.BARCODE%type default null,
p_UnitCost in PRODUCT_TBL.UNITCOST%type default null
) is
begin
update PRODUCT_TBL set
PRODUCTNAMEEN = p_ProductNameEn,
PRODUCTNAMEKH = p_ProductNameKh,
QTYONHAND = p_QtyOnHand,
UNITPRICE = p_UnitPrice,
CATEGORYID = p_CategoryID,
BARCODE = p_Barcode,
UNITCOST = p_UnitCost
where PRODUCTID = p_ProductID;
end;
---Delete
procedure del (
p_ProductID in PRODUCT_TBL.PRODUCTID%type
) is
begin
delete from PRODUCT_TBL
where PRODUCTID = p_ProductID;
end;
end PRODUCT_TBL_tapi;
[Link] the C# Project
public class Product_Tbl {
public int ProductID { get; set; }
public string Barcode { get; set; }
public string ProductNameKh { get; set; }
public string ProductNameEn { get; set; }
public double QtyOnHand { get; set; }
public double UnitCost { get; set; }
public double UnitPrice { get; set; }
public double Reorder { get; set; }}
3. b. Insert()
public bool Insert() {
bool ch;
OracleCommand cmd = new OracleCommand(“Product_Tbl _tapi.ins", [Link]);
CmdHelper(cmd);
try
{
[Link]();
ch = true;
}
catch (Exception ex)
{
ch = false;
}
return ch;
}
c. Update()
public bool Update()
{
bool ch;
OracleCommand cmd = new OracleCommand("Product_Tbl _tapi.upd",
[Link]);
CmdHelper(cmd);
try
{
[Link]();
ch = true;
}
catch (Exception ex)
{
ch = false;
}
return ch;
c. Delete()
public bool Delete()
{
bool ch;
OracleCommand cmd = new OracleCommand("Product_Tbl _tapi.del", [Link]);
CmdHelper(cmd);
try
{
[Link]();
ch = true;
}
catch (Exception ex)
{
ch = false;
}
return ch;}
d. CmdHelper()
private void CmdHelper(OracleCommand cmd)
{
[Link] = [Link];
[Link]("p_ PRODUCTNAMEEN", PRODUCTNAMEEN);
[Link]("p_ProductID", ProductID);
[Link]("p_ProductNameKh ", ProductNameKh);
[Link]("p_QtyOnHand ", QtyOnHand);
[Link]("p_UnitPrice ", p_UnitPrice);
[Link]("p_CategoryID ", p_CategoryID);
[Link]("p_Barcode ", Barcode);
[Link]("p_UnitCost", UnitCost);
[Link]("p_Reorder", Reorder);
[Link]("p_ExpiredDate ", ExpiredDate);