سفید برفی
شنبه 14 بهمن 1385, 18:36 عصر
سلام
ببخشید در کد زیر دستور cmdselect1 با وجود فیلدهایی منطبق با این شروط وجود دارد ولی dtrtodo1 مقداری ندارد و حلقه while اجرا نمی شود لطفا من را راهنمایی کنید.
متشکرم.
Private Sub submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles submit.Click
Dim str, id, d As String
Dim cmdselect, cmdselect1, cmdselect2, cmdinsert1, cmdinsert2, cmdupdate As SqlCommand
Dim dtrmember, dtrtodo1, dtr1 As SqlDataReader
Session("user") = username.Text
conmember.Open
cmdselect = New SqlCommand("select username,user_id from member where password='" + password.Text + "' and username='" + username.Text + "'", conmember)
dtr1 = cmdselect.ExecuteReader
If dtr1.HasRows Then dtr1.Read()
Session("id") = dtr1("user_id")
dtr1.Close
contodo.Open
cmdselect1 = New SqlCommand("select * from todo1 where (sender='" + Session("user") + "' or owner_id=" & Session("id") & ") and folder<>'sucessfull' and folder<>'trash' and folder<>'trashs' and expire='0' and deadline<getdate() or folder= null", contodo)
dtrtodo1 = cmdselect1.ExecuteReader
Response.Write("okkkk1")
contodo2.Open
While dtrtodo1.Read
Response.Write("while")
cmdupdate = New SqlCommand("update todo1 set folder='unsucessfull', expire=1 where todo_id=" & dtrtodo1("todo_id") & "", contodo2)
cmdupdate.ExecuteNonQuery
Response.Write("cmup")
cmdselect2 = New SqlCommand("select user_id from member where username='" + dtrtodo1("sender") + "'", conmember)
id = cmdselect2.ExecuteScalar
d = Now.Year
If dtrtodo1("folder") <> "trashi" Then
cmdinsert1 = New SqlCommand("insert into todo1 (owner_id,sender,reciever,subject,todo_date,deadli ne,priority,type,is_new,body) values(" & dtrtodo1("owner_id") & ",'کنترل کننده سیستم'," & dtrtodo1("reciever") & ",'اخطاریه',getdate(),'" + d + "','زیاد','Message',1," & dtrtodo1("body") & ",' به پایان رسیده وشما پاسخی مبتنی بر انجام آن ارسال نکرده ایدToDoمهلت این ')", contodo2)
cmdinsert1.ExecuteNonQuery()
cmdinsert2 = New SqlCommand("insert into todo1 (owner_id,sender,reciever,subject,todo_date,deadli ne,priority,type,is_new,body) values('" + id.ToString + "','کنترل کننده سیستم'," & dtrtodo1("sender") & ",'اخطاریه',getdate(),'" + d + "','زیاد','Message',1," & dtrtodo1("body") & ",' به پایان رسیده وشما پاسخی مبتنی بر انجام آن دریافت نکرده ایدToDoمهلت این ')", contodo2)
cmdinsert2.ExecuteNonQuery
Else
cmdinsert2 = New SqlCommand("insert into todo1 (owner_id,sender,reciever,subject,todo_date,deadli ne,priority,type,is_new,body) values('" + id.ToString + "','کنترل کننده سیستم'," & dtrtodo1("sender") & ",'اخطاریه',getdate(),'" + d + "','زیاد','Message',1," & dtrtodo1("body") & ",' به پایان رسیده وشما پاسخی مبتنی بر انجام آن دریافت نکرده ایدToDoمهلت این ')", contodo2)
cmdinsert2.ExecuteNonQuery
End If
End While
dtr1.Close
dtrtodo1.Close
contodo2.Close
contodo.Close
If Page.IsValid Then dtrmember = cmdselect.ExecuteReader
If dtrmember.HasRows Then
While dtrmember.Read
If (dtrmember("username") = "addmin") Then
Response.Redirect("admin.aspx")
ElseIf (dtrmember("username") = username.Text) Then
Session("user") = " " & username.Text
Session("id") = dtrmember("user_id")
Response.Redirect("master.aspx")
End If
End While
Else : Label.Visible = True
End If
conmember.Close
End Sub
ببخشید در کد زیر دستور cmdselect1 با وجود فیلدهایی منطبق با این شروط وجود دارد ولی dtrtodo1 مقداری ندارد و حلقه while اجرا نمی شود لطفا من را راهنمایی کنید.
متشکرم.
Private Sub submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles submit.Click
Dim str, id, d As String
Dim cmdselect, cmdselect1, cmdselect2, cmdinsert1, cmdinsert2, cmdupdate As SqlCommand
Dim dtrmember, dtrtodo1, dtr1 As SqlDataReader
Session("user") = username.Text
conmember.Open
cmdselect = New SqlCommand("select username,user_id from member where password='" + password.Text + "' and username='" + username.Text + "'", conmember)
dtr1 = cmdselect.ExecuteReader
If dtr1.HasRows Then dtr1.Read()
Session("id") = dtr1("user_id")
dtr1.Close
contodo.Open
cmdselect1 = New SqlCommand("select * from todo1 where (sender='" + Session("user") + "' or owner_id=" & Session("id") & ") and folder<>'sucessfull' and folder<>'trash' and folder<>'trashs' and expire='0' and deadline<getdate() or folder= null", contodo)
dtrtodo1 = cmdselect1.ExecuteReader
Response.Write("okkkk1")
contodo2.Open
While dtrtodo1.Read
Response.Write("while")
cmdupdate = New SqlCommand("update todo1 set folder='unsucessfull', expire=1 where todo_id=" & dtrtodo1("todo_id") & "", contodo2)
cmdupdate.ExecuteNonQuery
Response.Write("cmup")
cmdselect2 = New SqlCommand("select user_id from member where username='" + dtrtodo1("sender") + "'", conmember)
id = cmdselect2.ExecuteScalar
d = Now.Year
If dtrtodo1("folder") <> "trashi" Then
cmdinsert1 = New SqlCommand("insert into todo1 (owner_id,sender,reciever,subject,todo_date,deadli ne,priority,type,is_new,body) values(" & dtrtodo1("owner_id") & ",'کنترل کننده سیستم'," & dtrtodo1("reciever") & ",'اخطاریه',getdate(),'" + d + "','زیاد','Message',1," & dtrtodo1("body") & ",' به پایان رسیده وشما پاسخی مبتنی بر انجام آن ارسال نکرده ایدToDoمهلت این ')", contodo2)
cmdinsert1.ExecuteNonQuery()
cmdinsert2 = New SqlCommand("insert into todo1 (owner_id,sender,reciever,subject,todo_date,deadli ne,priority,type,is_new,body) values('" + id.ToString + "','کنترل کننده سیستم'," & dtrtodo1("sender") & ",'اخطاریه',getdate(),'" + d + "','زیاد','Message',1," & dtrtodo1("body") & ",' به پایان رسیده وشما پاسخی مبتنی بر انجام آن دریافت نکرده ایدToDoمهلت این ')", contodo2)
cmdinsert2.ExecuteNonQuery
Else
cmdinsert2 = New SqlCommand("insert into todo1 (owner_id,sender,reciever,subject,todo_date,deadli ne,priority,type,is_new,body) values('" + id.ToString + "','کنترل کننده سیستم'," & dtrtodo1("sender") & ",'اخطاریه',getdate(),'" + d + "','زیاد','Message',1," & dtrtodo1("body") & ",' به پایان رسیده وشما پاسخی مبتنی بر انجام آن دریافت نکرده ایدToDoمهلت این ')", contodo2)
cmdinsert2.ExecuteNonQuery
End If
End While
dtr1.Close
dtrtodo1.Close
contodo2.Close
contodo.Close
If Page.IsValid Then dtrmember = cmdselect.ExecuteReader
If dtrmember.HasRows Then
While dtrmember.Read
If (dtrmember("username") = "addmin") Then
Response.Redirect("admin.aspx")
ElseIf (dtrmember("username") = username.Text) Then
Session("user") = " " & username.Text
Session("id") = dtrmember("user_id")
Response.Redirect("master.aspx")
End If
End While
Else : Label.Visible = True
End If
conmember.Close
End Sub