PDA

View Full Version : نمایش ندادن فیلدهای خالی



arsalansalar
یک شنبه 08 اردیبهشت 1387, 10:33 صبح
من برای گرفتن کوئری و bind کردن آن به دیتا گرید از کد زیر استفاده می کنم.
حال سوال من این است که چه کدی را درون این کوئری بنویسم که اگر فیلد text خالی بود آن را در دیتا گرید نمایش ندهد.

Sub BindDataGrid()
Dim con As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
con = New OleDbConnection(String.Format("provider = microsoft.jet.oledb.4.0 ; data source = {0}", Server.MapPath("~") + "\App_Data\web.mdb"))
da = New OleDbDataAdapter("Select name,text From data Order By id desc", con)
ds = New DataSet
da.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
End Sub

shahab_ksh
یک شنبه 08 اردیبهشت 1387, 11:14 صبح
Select name,text From data WHERE (text <> N'') Order By id desc

twelve
یک شنبه 08 اردیبهشت 1387, 11:15 صبح
اگر همه فیلد های text خالی باشه که نشون نمیده ولی اگر بعضی هاش خالی باشه ، نمیشه کاری کرد ، چون بقیه فیلد ها دیتا دارن. مگر اینکه با مقدار دیگه ای جایگزین بشه!

arsalansalar
یک شنبه 08 اردیبهشت 1387, 11:16 صبح
اگر همه فیلد های text خالی باشه که نشون نمیده ولی اگر بعضی هاش خالی باشه ، نمیشه کاری کرد ، چون بقیه فیلد ها دیتا دارن. مگر اینکه با مقدار دیگه ای جایگزین بشه!
دوست عزیز می شود کمی بیشتر توضیح دهید.

shahab_ksh
یک شنبه 08 اردیبهشت 1387, 11:20 صبح
با گذاشتن این کد میشه از خوندن خالی ها جلوگیری کرد


WHERE (text <> '')

البته اگه مقدار خالی شما Null هستش باید به جای '' از Null استفاده کنی

twelve
یک شنبه 08 اردیبهشت 1387, 11:21 صبح
دوست عزیز می شود کمی بیشتر توضیح دهید

فکر کنم واضح بود ، چی رو متوجه نشدی؟

twelve
یک شنبه 08 اردیبهشت 1387, 11:31 صبح
Select name,text From data WHERE (text <> N'') Order By id desc


شهاب جان ، کد شما کاملا درسته ، اما من فکر کنم کل فیلد text این دوست ما خالی نباشه ، و میخوان فقط اونایی رو که دیتا داره همزمان با فیلدهای دیگه واکشی کنند ، که این امکان نداره ! (البته بخش SQL Server صلاحیت بیشتری برای بررسی این موضوع داره )

arsalansalar
یک شنبه 08 اردیبهشت 1387, 11:52 صبح
من یک سوال دیگه هم دارم.
با توجه به کدی که برای دیتا گرید در پست اول گذاشتم :

من در یک صفحه فرمم اطلاعات که شامل نام و شرح یک متن هست توسط کاربر گرفته می شود.
نحوه ورود متن به این شکل است که ابتدا 3 خط از متن نوشته می شود سپس 3 تا enter زده می شود و بعد از آن ادامه متن نوشته می شود.
حال می خواهم در صفحه ای که قرار است متن نمایش داده شود فقط کاراکترهای برگردد که قبل از enter هستند.

حالا چه کدی به کار ببرم که فقط کلمات قبل از enter فیلد text را در دیتا گرید نمایش دهد.