PDA

View Full Version : نمایش محتوای یک پارامتر نوع clob



mehrdotnet
یک شنبه 20 آذر 1384, 16:38 عصر
سلام
برای من یک procedure توی oracle ساخته شده که لیست انتخابهای کاربر رو به صورت پارامتر ورودی دریافت کرده و یک سری بررسی روی اون انجام میده و نتایج بررسی روی تک تک انتخاب ها رو به صورت متنی در یک پارامتر خروجی قرار میده. البته این procedure فقط دو تا پارامتر نداره بلکه چندین پارامتر ورودی و خروجی دیگه هم داره که یکی از اونها این رشته نتایج هستش.
از اونجایی که نتایج بررسی در برخی موارد بسیار بسیار طولانی میشه ، نوع این پارامتر از طرف طراح database و آنالیزر پروژه clob در نظر گرفته شده.
من چطور می تونم محتوای این پارامتر clob رو توی یک label به کاربر نشون بدم.
سطری که با **** مشخص کردم Cast from type 'OracleLob' to type 'String' is not valid میده.




Dim com AsNew OracleClient.OracleCommand

com.Connection = OracleCnn

com.CommandText = "SYN_PRG_G_A_D_TOTAL_CHECK"

com.CommandType = CommandType.StoredProcedure

'1

com.Parameters.Add(New OracleClient.OracleParameter("p_student_internal_code", OracleClient.OracleType.Number))

com.Parameters("p_student_internal_code").Direction = ParameterDirection.Input

com.Parameters("p_student_internal_code").Value = Val(Session("studentinfo").Student_Internal_Code)

'2

com.Parameters.Add(New OracleClient.OracleParameter("P_STATUS_LIMITED", OracleClient.OracleType.Number))

com.Parameters("P_STATUS_LIMITED").Direction = ParameterDirection.Input

com.Parameters("P_STATUS_LIMITED").Value = Val(Session("studentinfo").STATUS_LIMITED)

'3

com.Parameters.Add(New OracleClient.OracleParameter("p_graduated", OracleClient.OracleType.Number))

com.Parameters("p_graduated").Direction = ParameterDirection.Input

com.Parameters("p_graduated").Value = Val(Session("studentinfo").graduated)

'4

com.Parameters.Add(New OracleClient.OracleParameter("p_special_avarage_status", OracleClient.OracleType.Number))

com.Parameters("p_special_avarage_status").Direction = ParameterDirection.Input

com.Parameters("p_special_avarage_status").Value = Session("studentinfo").special_avarage_status

'5

com.Parameters.Add(New OracleClient.OracleParameter("p_enterance_term_link", OracleClient.OracleType.Number))

com.Parameters("p_enterance_term_link").Direction = ParameterDirection.Input

com.Parameters("p_enterance_term_link").Value = Val(Session("studentinfo").Entereance_Term_Link)

'6

com.Parameters.Add(New OracleClient.OracleParameter("p_gender_id", OracleClient.OracleType.Number))

com.Parameters("p_gender_id").Direction = ParameterDirection.Input

com.Parameters("p_gender_id").Value = Val(Session("studentinfo").gender_id)

'7

com.Parameters.Add(New OracleClient.OracleParameter("P_SUB_MAJOR_NAME_LINK", OracleClient.OracleType.Number))

com.Parameters("P_SUB_MAJOR_NAME_LINK").Direction = ParameterDirection.Input

com.Parameters("P_SUB_MAJOR_NAME_LINK").Value = Val(Session("studentinfo").SUB_MAJOR_NAME_LINK)

'8

com.Parameters.Add(New OracleClient.OracleParameter("p_university_term_link", OracleClient.OracleType.Number))

com.Parameters("p_university_term_link").Direction = ParameterDirection.Input

com.Parameters("p_university_term_link").Value = Val(Session("studentinfo").university_term_link)

'9

com.Parameters.Add(New OracleClient.OracleParameter("p_term_status", OracleClient.OracleType.VarChar, 400))

com.Parameters("p_term_status").Direction = ParameterDirection.Input

com.Parameters("p_term_status").Value = Session("studentinfo").term_status

'10

com.Parameters.Add(New OracleClient.OracleParameter("P_lesson_class_section_str", OracleClient.OracleType.VarChar, 4000))

com.Parameters("P_lesson_class_section_str").Direction = ParameterDirection.Input

'11

com.Parameters.Add(New OracleClient.OracleParameter("P_SELECTION_TYPE", OracleClient.OracleType.Number))

com.Parameters("P_SELECTION_TYPE").Direction = ParameterDirection.Input

com.Parameters("P_SELECTION_TYPE").Value = Val("1")

'12

com.Parameters.Add(New OracleClient.OracleParameter("p_error_text", OracleClient.OracleType.Clob, 24000))

com.Parameters("p_error_text").Direction = ParameterDirection.Output

'14

com.Parameters.Add(New OracleClient.OracleParameter("p_result", OracleClient.OracleType.VarChar, 4000))

com.Parameters("p_result").Direction = ParameterDirection.Output

com.Parameters.Add(New OracleClient.OracleParameter("P_TUITION_LESSON", OracleClient.OracleType.VarChar, 400))

com.Parameters("P_TUITION_LESSON").Direction = ParameterDirection.Output

If OracleCnn.State = ConnectionState.Closed Then

OracleCnn.Open()

EndIf

com.ExecuteNonQuery()

OracleCnn.Close()

'**** below line perform error "Cast from type 'OracleLob' to type 'String' is not valid "

LblResult.Text = com.Parameters("p_error_text").Value
Label1.Text = com.Parameters("p_result").Value



دوستان این مورد اضطراریه اگه ممکنه لطفاً یه کاریش بکنین!:افسرده:

mehrdotnet
دوشنبه 21 آذر 1384, 09:51 صبح
نمیدونم چرا اینقدر دوستان برنامه نویس بی وفا شدن! یعنی راهی نداره ؟ غیر ممکنه راهی نداشته باشه!!؟