从来没写过。
1、需要写包吗?CREATE OR REPLACE PRECEDURE PRC_GETBYPARAM
(
CURSOR curX(param varchar2) IS
BEGIN
OPEN curX FOR
select * FROM TABLE WHERE COL like '%' + param + '%'
END
)
这样写100%错了,请帮帮忙啊!急用急用!
1、需要写包吗?CREATE OR REPLACE PRECEDURE PRC_GETBYPARAM
(
CURSOR curX(param varchar2) IS
BEGIN
OPEN curX FOR
select * FROM TABLE WHERE COL like '%' + param + '%'
END
)
这样写100%错了,请帮帮忙啊!急用急用!
AS
TYPE myrctype IS REF CURSOR;
PROCEDURE SP_XYZ(ch varchar2,
p_rc OUT myrctype);
END YourPackage;
/CREATE OR REPLACE PACKAGE BODY YourPackage AS
PROCEDURE SP_XYZ(ch IN varchar2, p_rc OUT myrctype)
IS
BEGIN
open p_rc for
select * from YourTable where COL like ch;
END SP_CHEHAO;
END YourPackage;using(OracleConnection conn = new OracleConnection("Data Source=***;User ID=***;Password=***"))
{
OracleCommand cmd = new OracleCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "YourPackage.SP_XYZ";
cmd.Connection = conn; OracleParameter param = new OracleParameter("ch", OracleType.VarChar);
param.Direction = ParameterDirection.Input;
param.Value = "%" + textBox1.Text.Trim() + "%";
cmd.Parameters.Add(param);
cmd.Parameters.Add("p_rc", OracleType.Cursor).Direction = ParameterDirection.Output;
dt = new DataTable(); conn.Open();
dt.Load(cmd.ExecuteReader(CommandBehavior.CloseConnection));
dataGridView1.DataSource = dt;
}