مشكل در پیاده سازیه حلقه while با sqldatareader

fereshte22

Member
سلام

من یک فیلد (شروع زمان اضافه شدن فیلد در دیتابیس) دارم .میخواهم در یکی از صفحاتم اختلاف این زمان با زمان کنونی محاسبه شود.و برای محاسبه این اختلاف یک فیلد در جدولم قرار دادهام.(مقدار اولیه اش را صفر قرار دادهام)حالا مشکل من در مقدار دهی به این فیلد است.من اختلاف ساعت را محاسبه میکنم ولی نمیدونم که چه طور این مقدار را اپدیت کنم.

البته با datareader جدول را میخونم و رکوردها را بازیابی میکنم ولی نمیدونم که چطوری حلقه را پیاده سازی کنم.یه چیزی شبیه کد زیر نوشتم ولی هرچه جای con.open , con.close را تغییر میدهم ساختار حلقه ام درست نمیشود.

کسی میتونه من را راهنمایی کند که مشکلم چیه؟

ایا راه بهتری سراغ دارید

کد:
con.Open()

strsql = "select *from sabadkharid "

cmd = New SqlCommand(strsql, con)

dr = cmd.ExecuteReader

Dim ss AsDate

dr.Read()





While dr.Read

ss = dr("startTime")

runLength = ss.Subtract(Now)

con.Close()

updatesql = "update sabadkharid set difrence='" & runLength.TotalHours & "'"

updatesql &= "where flag='" & 0 & "'"

cmdselect = New SqlCommand(updatesql, con)

con.Open()

cmdselect.ExecuteNonQuery()

con.Close()

con.Open()

EndWhile

dr.Close()

con.Close()
 

جدیدترین ارسال ها

بالا