oracle9i中创建包如下:
包规范:
SQL> create or replace
2 package bjmc_pkg as
3 procedure print_bjmc(p_bjh char);
4 end bjmc_pkg;
5 /
包主体:
SQL> l
1 create or replace
2 package body bjmc_pkg as
3
4 procedure print_bjmc(p_bjh char) is
5 l_bjmc bjxx.bjxx_bjmc%type;
6 begin
7 select bjxx_bjmc
8 into l_bjmc
9 from bjxx
10 where bjxx_bjh = p_bjh;
11 dbms_output.put_line(l_bjmc);
12 exception
13 when NO_DATA_FOUND then
14 dbms_output.put_line('班级号不存在!');
15 end print_bjmc;
16* end bjmc_pkg;
SQL> /
经测试,包没问题。我在.net下调用如下:
[WebMethod]
public DataSet SQLDB(string str_bjh)
{
try
{
OracleConnection CS = new
OracleConnection("Password = qixiang;User ID = qixiang;"
//+ "Initial Catalog = xsgl_en;"
+ "Data Source = wsclient");
OracleCommand selectCMD = new OracleCommand("bjmc_pkg.print_bjmc", CS);
selectCMD.CommandType = CommandType.StoredProcedure; OracleParameter myParm = new OracleParameter("p_bjh", OracleType.Char,8);
myParm.Direction = System.Data.ParameterDirection.Input;
myParm.Value = str_bjh;
selectCMD.Parameters.Add(myParm);
OracleDataAdapter myCommand = new OracleDataAdapter();
myCommand.SelectCommand = selectCMD;
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "Results");
return myDataSet;
}
catch(Exception ex)
{
return DataError(ex);
}
}但没有出现预期结果,也不报错!
望高手指教。我很着急!!
包规范:
SQL> create or replace
2 package bjmc_pkg as
3 procedure print_bjmc(p_bjh char);
4 end bjmc_pkg;
5 /
包主体:
SQL> l
1 create or replace
2 package body bjmc_pkg as
3
4 procedure print_bjmc(p_bjh char) is
5 l_bjmc bjxx.bjxx_bjmc%type;
6 begin
7 select bjxx_bjmc
8 into l_bjmc
9 from bjxx
10 where bjxx_bjh = p_bjh;
11 dbms_output.put_line(l_bjmc);
12 exception
13 when NO_DATA_FOUND then
14 dbms_output.put_line('班级号不存在!');
15 end print_bjmc;
16* end bjmc_pkg;
SQL> /
经测试,包没问题。我在.net下调用如下:
[WebMethod]
public DataSet SQLDB(string str_bjh)
{
try
{
OracleConnection CS = new
OracleConnection("Password = qixiang;User ID = qixiang;"
//+ "Initial Catalog = xsgl_en;"
+ "Data Source = wsclient");
OracleCommand selectCMD = new OracleCommand("bjmc_pkg.print_bjmc", CS);
selectCMD.CommandType = CommandType.StoredProcedure; OracleParameter myParm = new OracleParameter("p_bjh", OracleType.Char,8);
myParm.Direction = System.Data.ParameterDirection.Input;
myParm.Value = str_bjh;
selectCMD.Parameters.Add(myParm);
OracleDataAdapter myCommand = new OracleDataAdapter();
myCommand.SelectCommand = selectCMD;
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "Results");
return myDataSet;
}
catch(Exception ex)
{
return DataError(ex);
}
}但没有出现预期结果,也不报错!
望高手指教。我很着急!!
刚接触ORACLE,确实不懂。帮忙啊!!
谢谢提示,问题已经解决!
给分!!