Hossein Bazyan
چهارشنبه 15 خرداد 1387, 21:11 عصر
سلام
من تابع زیر را برای به دست آوردن تعدادهای رکوردهای موجود در بانک نوشته ام و خوب هم عمل میکند. اما بار دوم که به آن مراجعه میکنم مقدار قبلی را با مقدار جدید نمایش میدهد
Public Function RecordCount(ByVal sqlQuery As String) As Long
Dim recCount As Long = 0
Dim ds As New DataSet()
Dim con As OleDbConnection
Dim dr As OleDbDataReader
Dim cmd As OleDbCommand
Try
con = New OleDbConnection(Variable.GetProvider())
con.Open()
cmd = New OleDbCommand(sqlQuery, con)
dr = cmd.ExecuteReader()
While dr.Read()
recCount = recCount + 1
End While
Catch ex As Exception
End Try
con.Close()
RecordCount = recCount
End Function
مثلا بار اول با توجه به مقدار دریافتی 3 رکورد برمیگرداند . بار دوم که آن را میخوانم مقدار رکوردهای جدید به اضافه 3 رکورد قبلی را برمیگرداند . مثلا اگر 3 رکورد برای مقدار sqlA داشته باشیم و برای sqlB تعداد 2 رکورد داشته باشیم . در مراجعه اول 3 و در مراجعه دوم مقدار 5 را به جای دو برمیگرداند.
فکر کنم باید یه جورایی DataSet خالی بشه اما نمیدانم چه جوری ؟
من تابع زیر را برای به دست آوردن تعدادهای رکوردهای موجود در بانک نوشته ام و خوب هم عمل میکند. اما بار دوم که به آن مراجعه میکنم مقدار قبلی را با مقدار جدید نمایش میدهد
Public Function RecordCount(ByVal sqlQuery As String) As Long
Dim recCount As Long = 0
Dim ds As New DataSet()
Dim con As OleDbConnection
Dim dr As OleDbDataReader
Dim cmd As OleDbCommand
Try
con = New OleDbConnection(Variable.GetProvider())
con.Open()
cmd = New OleDbCommand(sqlQuery, con)
dr = cmd.ExecuteReader()
While dr.Read()
recCount = recCount + 1
End While
Catch ex As Exception
End Try
con.Close()
RecordCount = recCount
End Function
مثلا بار اول با توجه به مقدار دریافتی 3 رکورد برمیگرداند . بار دوم که آن را میخوانم مقدار رکوردهای جدید به اضافه 3 رکورد قبلی را برمیگرداند . مثلا اگر 3 رکورد برای مقدار sqlA داشته باشیم و برای sqlB تعداد 2 رکورد داشته باشیم . در مراجعه اول 3 و در مراجعه دوم مقدار 5 را به جای دو برمیگرداند.
فکر کنم باید یه جورایی DataSet خالی بشه اما نمیدانم چه جوری ؟