بالنسبة لظاهرة الأرقام السلبية أثناء ترحيل مجموعة السجلات ، أعتقد أن الكثير من الناس واجهوا هذه المشكلة ، وأحيانًا لا يتمتع Baidu و Google بالحيرة.
يرتبط الرقم السلبي بشكل رئيسي بنوع المؤشر. (على سبيل المثال ، من المريح ، على افتراض أن هناك بالفعل ملف لقاعدة بيانات ارتباط conn.asp وقد تم تضمينه.) الآن مثال على النحو التالي:
SQL = SELECT * من الجدول حيث يمكن إعادة كتابة الشروط حسب المعرف "هنا يمكن إعادة كتابة وفقًا لاحتياجاتك
تعيين rs = const.execute (sql) '=== لاحظ هذه الجملة ====
rs.pagesize = 10 '=== تعيين عدد السجلات لكل صفحة هو 10 ===
page = request.querystring (صفحة)
إذا الصفحة = ثم الصفحة = 1
إذا لم يكن isnumberic (صفحة) ثم الصفحة = 1
الصفحة = CLNG (صفحة)
إذا كانت الصفحة <1 الصفحة = 1
إذا كانت الصفحة> rs.pageCount that = vrs.pageCount
rs.absolutepage = صفحة
قاتمة ج
ج = 1
افعل بينما لا Rs.eof و C <= rs.pageCount
محتوى الإخراج
C = C+1
Rs.Movenext
حلقة
اصنع رابط صفحة
وفقًا للرمز أعلاه ، يكون كائن مجموعة السجلات مباشرة بواسطة الكود: تعيين RS = Conn.execute (SQL). ونوع القفل هو 0 ، مما يشير إلى أن القراءة فقط تقرأ فقط ، مما يشير فقط إلى قراءة القراءة فقط ، مما يشير فقط إلى قراءة القراءة فقط ، مما يشير إلى أن القراءة تقرأ فقط فقط ، مما يشير فقط إلى قراءة القراءة فقط ، مما يشير إلى أن القراءة فقط تقرأ فقط ، تشير فقط إلى قراءة القراءة فقط ، مما يشير إلى أن القراءة فقط تقرأ فقط ، مما يشير فقط إلى القراءة فقط القراءة ، مما يشير فقط إلى قراءة القراءة فقط ، مما يشير إلى أن القراءة فقط تقرأ فقط ، مما يشير فقط إلى القراءة فقط ، مما يشير إلى أن القراءة تقرأ فقط فقط ، مع الإشارة إلى أن القراءة فقط القراءة فقط ، تشير إلى القراءة فقط ، مما يشير إلى أن القراءة فقط تتم قراءتها.
لذلك ، إذا ظهر رقم سالب أثناء الترحيل ، تحقق مما إذا كان كائن مجموعة السجل مكتوبًا كنموذج أعلاه ، ويجب كتابته:
تعيين rs = server.createObject (adodb.oldset)
Rs.OOPEN SQL ، CONN ، 1،3
ما سبق يشير إلى أن المؤشر هو 1 ، والذي يمكن أن يتحرك للأمام والخلف ؛
وفقًا للطريقة المذكورة أعلاه ، لن تكون هناك مشكلة ، ولكن بالنسبة للتأمين ، يعتمد مبدأ الترحيل على عدد السجلات بعد قراءة جميع السجلات ، لذا دع الحملة تدور أولاً ، أضف ما يلي بعد المستوى RS .pagesize = 10 ، أضف ما يلي أدناه جملتين:
Rs.Movelast 'Cursor ينتقل إلى النهاية
Rs.MoveFirst 'Cursor ينتقل إلى الأعلى
من المعروف أن مبدأ ترميم مجموعة السجلات قد قرأت السجلات أولاً في قاعدة البيانات بأكملها قبل الحصول على قيمة RS.RecordCount. طريقة الترحيل هذه بسيطة نسبيًا ، ولكن هناك عيب مميت. في البرمجة الفعلية. أعطيك الآن فكرة أنه يمكنك القيام بترقيم الصفحات في بيان استعلام SQL.
ابدأ من ضباب المادة M.
يختار*
من (SelectTopn*
من (SelectTop (M+N-1)*من اسم الجدول OrderByidDesc) T1) T2
Orderbyiddesc
مع عبارات SQL أعلاه ، تكون الأخطاء صغيرة نسبيًا ، والشيء الأكثر أهمية هو أن الكفاءة مرتفعة نسبيًا.