mehdi58
جمعه 12 اسفند 1384, 16:12 عصر
سلام
یه اتفاق عجیب برام اتفاق افتاده که احتیاج به کمک فوری دارم!!!!
من یه Table دارم( در SQL ) که فقط یه Field داره با عنوان name و از نوع Nvarchar هست.
فرض می کنیم که دو تا رکورد به نامهای علی و رضا وجود داره.
حالا به زیر برنامه ها توجه کنین:
زیر برنامه شماره 1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strCon As New SqlConnection("Integrated Security=SSPI;Initial Catalog=IIFsystem")
strCon.Open()
Dim cmd As New SqlCommand("select name from table1", strCon)
Dim dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
Response.Write(dr.GetString(0))
End While
dr.Close()
strCon.Close()
End Sub
خروجی:
علی
رضا
همچنین اگه از Label1.Text += dr.GetString(0) + "<br>" هم استفاده کنیم اونوقت خروجی مثل بالایی میشه.
زیر برنامه شماره 2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strCon As New SqlConnection("Integrated Security=SSPI;Initial Catalog=IIFsystem")
strCon.Open()
Dim cmd As New SqlCommand("select name from table1", strCon)
Dim dr As SqlDataReader = cmd.ExecuteReader()
dr.Read()
DataGrid1.DataSource = dr
DataGrid1.DataBind()
dr.Close()
strCon.Close()
End Sub
خروجی :
رضا
زیر برنامه شماره 2 فقط یه رکورد رو نشون میده یعنی به عبارتی اگه از زیر برنامه 2 استفاده کنم همیشه یه رکورد کمتر از تعداد رکوردهای موجود رو به من نشون میده!!!
البته یه نکته جالب دیگه اینکه من از روش Stored procedure ای هم استفاده کردم و اون داخل Query analyzer درست کار میکنه اما توی فرمهای ASP.NET باز هم یه رکورد کمتر نشون میده.
حالا به نظر شما من باید چیکار کنم که زیر برنامه شماره 2 من درست کار کنه؟؟؟
خیلی زیاد نوشتم ...ببخشین
یه اتفاق عجیب برام اتفاق افتاده که احتیاج به کمک فوری دارم!!!!
من یه Table دارم( در SQL ) که فقط یه Field داره با عنوان name و از نوع Nvarchar هست.
فرض می کنیم که دو تا رکورد به نامهای علی و رضا وجود داره.
حالا به زیر برنامه ها توجه کنین:
زیر برنامه شماره 1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strCon As New SqlConnection("Integrated Security=SSPI;Initial Catalog=IIFsystem")
strCon.Open()
Dim cmd As New SqlCommand("select name from table1", strCon)
Dim dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
Response.Write(dr.GetString(0))
End While
dr.Close()
strCon.Close()
End Sub
خروجی:
علی
رضا
همچنین اگه از Label1.Text += dr.GetString(0) + "<br>" هم استفاده کنیم اونوقت خروجی مثل بالایی میشه.
زیر برنامه شماره 2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strCon As New SqlConnection("Integrated Security=SSPI;Initial Catalog=IIFsystem")
strCon.Open()
Dim cmd As New SqlCommand("select name from table1", strCon)
Dim dr As SqlDataReader = cmd.ExecuteReader()
dr.Read()
DataGrid1.DataSource = dr
DataGrid1.DataBind()
dr.Close()
strCon.Close()
End Sub
خروجی :
رضا
زیر برنامه شماره 2 فقط یه رکورد رو نشون میده یعنی به عبارتی اگه از زیر برنامه 2 استفاده کنم همیشه یه رکورد کمتر از تعداد رکوردهای موجود رو به من نشون میده!!!
البته یه نکته جالب دیگه اینکه من از روش Stored procedure ای هم استفاده کردم و اون داخل Query analyzer درست کار میکنه اما توی فرمهای ASP.NET باز هم یه رکورد کمتر نشون میده.
حالا به نظر شما من باید چیکار کنم که زیر برنامه شماره 2 من درست کار کنه؟؟؟
خیلی زیاد نوشتم ...ببخشین