PDA

View Full Version : مشكل با select كردن از جدول sql(جستجو ركورد هاي يك جدول)



nasim.gh68
جمعه 04 دی 1388, 06:38 صبح
سلام
من توي sql يك جدول ساختم كه توي vb , asp.net ازش استفاده مي كنم .ارتباطم درسته اما وقتي select هميشه يك سطر كمتر پيدا مي كنه! البته جالبه كه اطلاعاتي كه همون لحظه وارد ميشه همه پيدا مي شه(توي vb داده ها وارد ميشن و توي asp.net هم جستجو ميشن, البته توي vb هم جستجو ميشه اما وضعيت بهتره! )!اما كافيه يك ساعت از درج اطلاعات بگذره:متعجب:
اگه اشكال از فاصله توي جدول باشه كه موقع درج trim گذاشتم!
اگه مشكل ارتباطه كه دفعه اول كه اطلاعات وارد ميشه پيدا مي كنه !
اگه اشكال نصب sql كه چند بار نصب كردم !
اگه...
...
تورو خدا كمك كنيد...

xxxxx_xxxxx
جمعه 04 دی 1388, 15:26 عصر
البته توي vb هم جستجو ميشه اما وضعيت بهتره! دستور جستجو رو اینجا بنویسید.


اما وقتي select هميشه يك سطر كمتر پيدا مي كنه!
دقت کنید RecordCount از 0 شروع میشه.

nasim.gh68
شنبه 05 دی 1388, 14:00 عصر
دقت کنید RecordCount از شروع میشه.

من توي gridview جدول رو نشون ميدم(البته با يك ركورد كمتر كه معمولا آخرين ركوردي كه اين شرط توش برقراره).دليلش اين نيست كه يكي كمتر مي گرده؟!!
كدي كه توي ASP.NET براي جستجو گذاشتم اينه


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cnngrop As New SqlConnection(strcnn)
Dim strselectgrop As String
strselectgrop = "select * from karbar where nam='" + nam.Text + "'"
Dim cmdselectgrop As New SqlCommand(strselectgrop, cnngrop)
Dim drgrop As SqlDataReader
cnngrop.Open()
drgrop = cmdselectgrop.ExecuteReader
GridView1.DataSource = drgrop
GridView1.DataBind()
cnngrop.Close()
End Sub

حتمابايد اطلاعاتم رو توي grid view نشون بدم و بتونم سطري كه ميخوام انتخاب كنم...
اول فكر ميكردم بخاطر ارتباطات ASP.NET باشه اما توي query analizer كد


select * from karbar where nam='admin'

نوشتم ولي يكي كمتر نشون ميده !البته همون لحظه ايي كه توي vb اطلاعات رو وارد مي كنم اگه جستجو كنم درست نشون ميده !توي تنظيمات sql چيزي نيست كه به موضوع ربطي داشته باشه؟
آخه قسمت properties توي sql اگه sql and windosws رو توي تب security فعال نكني نميشه توي ASP.NET ازش استفاده كرد... همه روش ها چك كردم نميدونم از كدوم قسمته ...راستي اگه موقع جستجو شرط بذارم كه اگه پيدا شد فلان كار رو انجام بده يك سطر ديگه هم كمتر نشون ميده و اگه خاصيت select توي gridview رو هم true كنم يكي كم نشون ميده!!!:ناراحت:

xxxxx_xxxxx
شنبه 05 دی 1388, 14:29 عصر
اول عذر می خوام در پست قبلی، جمله آخر عدد 0 تایپ نشده بود.

اگر فکر می کنید مشکل از Gridview هست، نتایج جستجو رو قبل از ارسال به Gridview بررسی کنید. تعداد رکوردها رو شمارش کنید.

nasim.gh68
دوشنبه 07 دی 1388, 13:59 عصر
اگر فکر می کنید مشکل از Gridview هست، نتایج جستجو رو قبل از ارسال به Gridview بررسی کنید. تعداد رکوردها رو شمارش کنید.
آخه توي qurey analizer هم جواب نميده!پرو‍ژه ي من شركت اتوبوسراني كه توي .net ميتونم رزرو كنم ولي اصل كار توي vb انجام ميشه،جالبه كه توي ويژوال بيسيك دقيقا همون شرط رو براي select گذاشتم و پيدا ميكنه،اما توي qurey analizer , .net `نميشه !فكر ميكنم مشكل فيلد مبدا باشه اما مشكلش چيه نميدونم!!
من جدول رو پاك كردم و دوباره ايجاد كردم.از وقتي جدول رو پاك كردم وقتي جستجو فقط با تاريخ و مقصد باشه درست نشون ميده اما اگه مبدا باشه نميشه! تك تك فيلدها رو براي جستجو امتحان كردم ديدم فقط بامبدا مشكل داره! ولي آخه اگه فيلد مبدا اشكال داره پس چرا توي vb پيدا مي كنه؟مبدا دقيقا مشخصات مقصد رو داره و حتي طولش(قسمت تعريف جدول) برابره!مثلا من اگه مبدا(كاشان) و مقصد (يزد ) بدم نمي تونه پيدا كنه با اين كه توي جدولم دارم ولي توي ويژوال دقيقا همين شرط را پيدا مي كنه!!!!!

nasim.gh68
چهارشنبه 09 دی 1388, 13:47 عصر
فكر كنم تقريبا فهميدم مشكل از كجاست ولي راه حلش رو نمي دونم!
پيدا نكردن اطلاعات جدول بخاطر زبان فارسي (البته نه همه حروف)!
وقتي يك شهر جديد وارد كردم(مبدا=بجنورد) دقيقا درست پيدا كرد!
البته تو ويژوال اين مشكل وجود نداره!
لطفا اگه كسي راه حلي داره كمك كنه...

Dr.Bronx
چهارشنبه 09 دی 1388, 22:39 عصر
مشکل از نوع فیلد های شما در SQL هست
نوع فیلد هارو تغییر بدید. قبلا هم من همین مشکل رو داشتم
با تغییر نوع فیلد ها مشکل حل شد.