مرحبا
لدي جدول:
create table thread( thread_id int , thread_text ntext, date_thread datetime )
عند اضافة موضوع جديد استعمل:
dim j as integer
Public Function auto(ByVal param As String, ByVal table As String) As Integer
cnx.Open()
cmd.CommandText = "select max(" & param & ") from " & table & ""
j = cmd.ExecuteScalar
cnx.Close()
Return j
End Functioncmd.CommandText =insert into thread values(@id,@threadtext,@date_thread)
cmd.parameters.addwithvalue("@id",auto("thread_id","thread"))
cmd.parameters.addwithvalue("@threadtext",threadtext)
cmd.parameters.addwithvalue("@date_thread",datetime.now())
cnx.open()
cmd.executenonquery()
cnx.close()هده الطريقة تعمل شرط ان يكوت جدول thread يحتوي على الاقل على سطر 1 مثلا :
1 شكرا 12/07/2010 13:25:05
في هده الحالة الطريقة تعمل جيدا على اعتبار ان الدالة auto() تاخد اكبر قيمة للحقل thread_id و تضيف اليها 1 .لكن ادا كان الجدول فارغا هنا المشكلة انضرو مادا يحدث :
conversion from type DBNUL to Integer is not valid
هدا منطقي لان الدالة لم تجد اي شيئ في الجدول null .
المطلوب:
اريد طريقة تمكنني من التحقق من الجدول. ادا كان فارغا تستقبل الدالة القيمة 1.علما انني تحايلت وبحتت لاسابيع لكن لكن تلك الرسالة المشؤمة تتصدى لي في اغلب الاحيان
وشكرا