انجمن‌های فارس وب

نسخه کامل: جستجو در دیتابیس و نمایش اطلاعات در GridView
شما در حال بازدید از بایگانی ارسال های انجمن هستید این نسخه کامل نیست : برای مشاهده نسخه کامل اینجا کلیک کنید
سلام
من یه دیتابیس محصولات دارم که در اون انواع محصولات از قبیل ( نرم افزار ، سخت افزار ، فیلم و ... ) است .
همچنین در صفحه محصولات 3 لینک با نامهای نرم افزار ، سخت افزار و فیلم دارم .
توی دیتابیس ISBN نرم افزارهام = 1
ISBN سخت افزار = 2
ISBN فیلم = 3
حالا میخوم اگه روی لینک نرم افزار کلیک شد ، تمام سطرهایی که ISBN آنها 1 است توی کنترل GridView نمایش داده بشه . همینطور اگه روی هر یک از لینک های دیگه کلیک شد اطلاعات مرتبط با همون لینک نمایش داده بشه .
*البته میخوم تمام برنامه ام با زبان VisualBasic باشه

هان؟ منتظر !!!
tkd عزيز

اين گونه طبقه بندي ها و محدود نمودن اطلاعات براي نمايش ربطي به زبان برنامه نويسي شما ندارد كافي است در Query كه مي خواهيد از SQL يا Access تان بخواند اين تقسيم بندي ها را انجام دهيد
شما مي بايست براي حالت هاي مختلف مد نظرتان Data Grid يا Grid View ي 2005 را بايد با ديتا ست هاي متفاوتي پر نماييد كه هر كدام با توجه به Query دلخواه شما پر شده باشند
براي مثال :‌

يك ديتا ست را با Query :

Select * From table1 where ISBN= 1


و ديگري را با Query :

Select * From table1 where ISBN= 2


پر نماييد و سپس ديتا گريدتان را به آن Bind نماييد.

[ويرايش شد] موضوع حول يك محور در حال گردش است ، لطفاً از نقل و قول پرهيز كرده و كد ها را بين تگ code قرار دهيد ؛ همچنين از ارسال 2 پست پشت سر هم خودداري كنيد.

میشه کمی بیشتر توضیح بدهید ؟
آخه وقتی در دستور Select از شرط استفاده میکنم ، برنامه پیغام خطا میده ، یعنی روی DataAdapter پیغام میده.

من برنامه ام رو توی یه کلاس نوشتم ؛ به صورت زیر:

[align=left]Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.OleDb

Public Class GetProducts

    Dim da As New OleDbDataAdapter
    Dim con As New OleDbConnection
    Dim dt As New DataTable()

    Public Const ConStr As String = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|//shop.mdb;Persist Security Info=True")

    Public Function GetSoftware() As DataTable
        con.ConnectionString = ConStr

        da.SelectCommand = New OleDbCommand()
        da.SelectCommand.Connection = con
        da.SelectCommand.CommandText = "SELECT * FROM Products"

        con.Open()

        da.Fill(dt)

        con.Close()

        Return dt
    End Function

    Public Function GetVideo() As DataTable
        con.ConnectionString = ConStr

        da.SelectCommand = New OleDbCommand()
        da.SelectCommand.Connection = con
        da.SelectCommand.CommandText = "SELECT * FROM Products ORDER BY ID DESC WHERE ISBN=333"

        con.Open()

        da.Fill(dt)

        con.Close()

        Return dt
    End Function

وقتی برای Select شرط بذارم ، روی da.fill(dt) پیغام میده !

خوب دوست عزیز مسلما باید ایراد بده برای اینکه کد SQL ی که نوشتید ایراد داره ، یعنی شما ترتیب و رعایت نکردید :
Order by بعد از Where قرار می گیره نه قبل از اون به دلیل اشتباه بودن Query نمی تونه دیتا آداپتور تون رو پر کنه .
مرجع آدرس ها