Function GetList(keywords In varchar2
,p_info_list_Cursor out get_data_cur_type)
Return Number
As
Begin
open p_info_list_Cursor For
Select * from Test where Key=keywords;
Return 0;
End;
—————-
OracleConnection OracleConn = new OracleConnection(连接字符串);
OracleCommand cmd = new OracleCommand(“GetList”, OracleConn);
cmd.Parameters.AddRange(new OracleParameter[]
{
new OracleParameter(“keyWords”, OracleType.VarChar),
new OracleParameter(“ReturnValue”, OracleType.Number, 0, ParameterDirection.ReturnValue, true, 0, 0, “”,DataRowVersion.Default, Convert.DBNull),
new OracleParameter(“p_info_list_Cursor”, OracleType.Cursor, 2000, ParameterDirection.Output, true, 0, 0, “”,DataRowVersion.Default, Convert.DBNull)
});
cmd.Parameters[0].Value = ‘t07美女’;
cmd.Parameters[0].Direction = ParameterDirection.Input;
cmd.CommandType = CommandType.StoredProcedure;
OracleConn.Open()
OracleDataReader rdr=cmd.ExecuteReader();
//其他代码
OracleConn.Close();
C#执行Oracle的参数过程,Sql 语句中使用”:” 表示参数。
在Sql Server 中我们可以按以下方式使用SQL 语句: “Insert into Table (Field1,field2) values(@Value1,@Value2) “, 然后我们再New 几个Paramter: new SqlParameter(“@Value1″,value)…
在查询字符串中使用@+字符 来描述参数,在SqlParameter中的参数名也要使用”@”符号。
而在Oracle中Sql 语句不能使用@符号, 以冒号”:”代替. 如:
——string Sql = “Insert into SEARCH_HISTORY(KEYWORDS,PHONE,RESULT_ID,SEARCH_TIME) values(:KEYWORDS,:PHONE,:RESULT_ID,:SEARCH_TIME)”;
OracleCommand cmd = new OracleCommand(Sql, OracleConn);
cmd.Parameters.AddRange(new OracleParameter[]{
new OracleParameter(“KEYWORDS”,OracleType.VarChar),
new OracleParameter(“PHONE”,OracleType.VarChar),
new OracleParameter(“RESULT_ID”,OracleType.Number),
new OracleParameter(“SEARCH_TIME”,OracleType.DateTime)
});
cmd.Parameters[0].Value = Keywords;
cmd.Parameters[1].Value = Phone;
cmd.Parameters[2].Value=2;
cmd.Parameters[3].Value = DateTime.Now;