• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

DataReader

yas2891

کاربر تازه وارد
تاریخ عضویت
6 نوامبر 2004
نوشته‌ها
26
لایک‌ها
0
چگونه با يك Connection مي توان بيشتر از يك DataReader براي استفاده به صورت nested استفاده كرد . با معرفي بيش از يك ديتا ريدر خطا رخ مي دهد .
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
مطمئن نيستم ولي فكر كنم datareader روي select command تعريف ميشه نه connection - شما چطوري اينكار رو كردي؟ ضمنا منظورت رو از nested متوجه نشدم!
 

yas2891

کاربر تازه وارد
تاریخ عضویت
6 نوامبر 2004
نوشته‌ها
26
لایک‌ها
0
البته كه ديتا ريدر روي select Command تعريف مي شود . من در msdn يك نمونه پيدا كردم اما روي همانselect Command خطا مي ده .
منظورم از nested حالت تو در تو بود . يعني از يك جدول اطلاعاتي را بدست مي آوريم و به ازاي هر يك از اين اطلاعات يك مجموعه اطلاعاتي ديگر را از جدول ديگر مي خواهيم .
مثلا جدول اول در loop اولیه و در داخل آن جدول دوم و loop ثانویه .
do while reader1.read
do while reader2read
............
loop
loop
 

yas2891

کاربر تازه وارد
تاریخ عضویت
6 نوامبر 2004
نوشته‌ها
26
لایک‌ها
0
متن كد و خطا به شكل زير است
کد:
Dim myCMD22 As OleDbCommand = New OleDbCommand("SELECT CategoryID, CategoryName FROM Categories;" & _
"SELECT EmployeeID, LastName FROM Employees", cn)
					
Dim myReader22 As OleDbDataReader = myCMD22.ExecuteReader()

Dim fNextResult As Boolean = True
Do Until Not fNextResult
	Console.WriteLine(vbTab & myReader22.GetName(0) & vbTab & myReader22.GetName(1))

       Do While myReader22.Read()
	Console.WriteLine(vbTab & myReader22.GetInt32(0) & vbTab & myReader22.GetString(1))
       Loop

fNextResult = myReader22.NextResult()
Loop

myReader22.Close()


و متن خطا

کد:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.OleDb.OleDbException: Characters found after end of SQL statement.

Source Error: 

Line 402:					
Line 403:		Dim myReader22 As OleDbDataReader = myCMD22.ExecuteReader()
Line 404:
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
شما جواب سوال رو خودت پيدا كردي يعني استفاده از چند مجموعه جواب بجاي چند DataReader ولي:
SQL Query شما دو مجموعه جواب برميگردونه و فكر كنم OleDB Provider اين حالت رو پشتيباني نميكنه - براي امتحان بجاي OleDbCommand از SqlCommand استفاده كن ببين درست ميشه يا نه؟
 
بالا