يك سوال در مورد VB.Net

شروع موضوع توسط Ali_Nob ‏12 جولای 2005 در انجمن Visual Basic 6

  1. Ali_Nob

    Ali_Nob کاربر تازه وارد

    تاریخ عضویت:
    ‏25 آپریل 2004
    نوشته ها:
    290
    تشکر شده:
    1
    سلام
    هر چند كه ظاهرا اينجا كسي VB.Net كار نكرده و يا نمي خواهند جواب بدن ولي با اين حال:
    در مورد كار با Database هاي حجيم فرضا اگر ما بخواهيم به آخرين ركورد مرتب شده يك بانك اطلاعاتي دسترسي داشته باشيم طبيعتا اگر يك Dataset را از آن Fill كنيم كار اشتباهي است زيرا تمام بانك اطلاعاتي به حافظه منتقل مي شود پس براي اين منظور چه راه حلي پيشنهاد مي كنيد ؟
    با تشكر
     
  2. miladkdz

    miladkdz کاربر تازه وارد

    تاریخ عضویت:
    ‏30 آگوست 2003
    نوشته ها:
    176
    تشکر شده:
    0
    محل سکونت:
    Tehran, Ekbatan
    سلام
    جوابت واقعا ساده هستش! برای این کار باید از SQL Query زير استفاده كني:
    SELECT TOP 1 * FROM tblName ORDER BY ID DESC
     
  3. MehdiC#

    MehdiC# کاربر تازه وارد

    تاریخ عضویت:
    ‏2 نوامبر 2004
    نوشته ها:
    55
    تشکر شده:
    0
    محل سکونت:
    ابهر
    سلام
    این هم کدی که این کار رو انجام میده :
    (با استفاده از Query ای که miladkdz گفتن. )

    Dim conn As New Data.SqlClient.SqlConnection
    conn.ConnectionString = "server=(local);database=MyDB;user=sa;password=pass" '
    Dim comm As New Data.SqlClient.SqlCommand("SELECT TOP 1 * FROM Table1 ORDER BY Salary DESC", conn)
    conn.Open
    Dim result As Data.SqlClient.SqlDataReader = comm.ExecuteReader
    result.Read
    Console.WriteLine(result.Item("Salary"))
    conn.Close

    در این مثال فرض کردیم که جدول Table1 شامل فیلدی به نام Salary است که ما این Salary ها رو به طور نزولی مرتب کرده
    و اولین رکورد رو از Database می گیریم (یعنی بیشترین Salary رو) و بعد اون رو چاپ می کنیم.
     
  4. Ali_Nob

    Ali_Nob کاربر تازه وارد

    تاریخ عضویت:
    ‏25 آپریل 2004
    نوشته ها:
    290
    تشکر شده:
    1
    با تشكر فراوان از miladkdz و MehdiC# عزيز
    البته من رفتن به ركورد اخر زو بعنوان مثال گفتم ولي آيا رسيدن و جستجو بر روي يك ركورد يا سطر خاص از بانك اطلاعاتي رو هميشه ميشه با دستورات SQL پيدا كرد مثلا فرض كنيد كه ما بخواهيم به ركوردي دست يابيم كه مثلا يك فيلدي از آن در يك تابعي صدق كند و يا تركيبي از برخي ار فيلد هاي آن در يك رابطه قرار گيرند و بطور كلي اساسا نتوان با فيلتر هاي دستورات Sql به آن دست يافت و لازم باشد كه با يك سري If و شروط ديگر به ركورد مورد نظر دست يافت در اين صورت چه بايد كرئ من اين كارها رو قبلا با Recordset ها در VB6 به اين صورت انجام مي دادم كه به بانك اطلاعاتي متصل مي شدم و ركورد به ركورد ان آن خوانده و با مجموعه شروط مورد نظر تست مي كردم تا به ركورد مورد نظر دست مي ياقتم در اينجا كار چگونه است

    يك سوال مهم ديگر
    در دستورات Sql اگر بخواهيم يك متغير را در String Sql قرار دهيم در صورتي كه :
    عددي باشد بصورت : " & Variable & "
    رشته اي : ' " & Variable & " '
    اگر Boolean باشد به چه شكل بايد بكار برد؟
     
  5. MehdiC#

    MehdiC# کاربر تازه وارد

    تاریخ عضویت:
    ‏2 نوامبر 2004
    نوشته ها:
    55
    تشکر شده:
    0
    محل سکونت:
    ابهر
    سلام
    من از Oracle و بقیه پایگاه داده ها چیزی نمی دونم ، اما در SQL Server
    میتونین از TSQL استفاده کنین ، در ضمن به جای اینکه از طریق کدتون یکی یکی رکوردها رو
    مرور کنین ، از Stored Procedure استفاده کنین تا سرعت و بازدهی برنامه تون بالا بره.
    (TSQL توابع زیادی داره و تقریبا تمام نیاز ها رو پاسخگوست ، همین IF و شرط و فلان که میگین
    داخل TSQL هست و شما رو از هر چیز دیگری بی نیاز می کنه)

    قسمت دوم سوالتون رو متوجه نشدم.
     
  6. Ali_Nob

    Ali_Nob کاربر تازه وارد

    تاریخ عضویت:
    ‏25 آپریل 2004
    نوشته ها:
    290
    تشکر شده:
    1
    با تشکر از توضیحتون
    در مورد بخش دوم سوالم یعنی مثلا با دستور
    ("& Insert Into [Field1] Value ( " & Variable
    که در آن قرار است محتویات Variable در بانک اطلاعاتی اعمال گردد.
    مورد فوق مثالی برای متغیر عددی می باشد برای متغیر Boolean چه ساختاری دارد؟
     
  7. footbal
  8. MehdiC#

    MehdiC# کاربر تازه وارد

    تاریخ عضویت:
    ‏2 نوامبر 2004
    نوشته ها:
    55
    تشکر شده:
    0
    محل سکونت:
    ابهر
    سلام
    اگه منظورتون وارد کردن مقادیر بولی در خود SQL هست ، که اصلا نیازی
    به syntax خاصی نیست ، (عین عددی ها)
    در VB .NET هم خیلی راحت متغیر های بولی رو به عنوان پارامتر وارد می کنید
    و خود VB .NET اینکار رو براتون انجام میده .

    یه سر هم به فروم SQL در http://www.irasp.net بزنید.
    (در این سایت ، همجنین یه ebook فارسی دربارۀ SQL وجود داره ، شاید به دردتون بخوره)
     
zarpopخرید بک لینک