:: Меню ::

Головна
  • Про сайт
  • Введення
  • Середовище програмування VB .NET: Visual Studio .NET
  • Вирази, оператори і передача управління
  • Класи і об'єкти
  •  Спадкоємство і інтерфейси
  • Обробка подій і делегати
  • Обробка помилок в VB .NET
  • Форми Windows, графічний вивід і друк
  • Уведення-виведення
  •  Багатопотокові застосування
  • Підтримка баз-даних в VB .NET
  • Короткий огляд ASP .NET
  • Складки .NET, установка додатків і COM Interop
  • Книга для гостей
    Контакти
    Добавити у вибране

    :: Друзі ::

     
     

    :: Лічильники ::

    = =

     

     

     

     

    Виклик процедури, що зберігається


    У наступному прикладі використовується процедура, що зберігається, з ім'ям getalbumname. Процедура викликається з одним параметром і вибирає з бази даних albums запис альбому із заданим ім'ям:
    create procedure getalbumbyname
    @albumname varchar(255) As
    select *from albums where albumname = @albumname

    Вибірка даних з використанням процедури, що зберігається, організована аналогічно простому запиту до бази даних Northwind:
    Dim dbcmd As Sqlcommand = New Sqlcommand(

    "execute getalbumbyname 'Operation Mindcrime'")

    Try
    mysqlconn =New Sqlconnection(
    "user id=sa:password=password;" & _

    "database=albums;server=i-ri3")
    mysqlconn.Open()
    dbcmd.Connection = mysqlconn


    dbreader = dbcmd.ExecuteReader(Commandbehavior.SingleResult)


    ' І так далі

    End Try
    Як бачите, програма майже не змінилася, хіба що команда SQL, що використалася для створення об'єкту Sql Command, перетворилася на команду виклику процедури getalbumbyname, що зберігалася, якою як параметр передається ім'я альбому, що цікавить нас. Звичайно, після виклику Executereader цикл перебору записів не потрібний, оскільки ми точно знаємо, що процедура, що зберігається, повертає всього один запис.

    Замість того щоб передавати параметр процедури, що зберігається, в рядку виклику, можна скористатися колекцією Parameters об'єкту Sqlcommand. Ми вирішили, що варіант з безпосередньою передачею параметрів в команді SQL простіше. Звичайно, це можливо лише в тому випадку, якщо значення параметра відоме під час написання програми, інакше доводиться використовувати колекцію Parameters.

    Нетривіальний приклад роботи з базами даних в VB .NET (частина 1)


    У цьому розділі представлено графічне застосування, за допомогою якого користувач може підключитися до вибраної бази даних SQL, виконати запит і отримати його результати у вигляді списку. Простоти ради ми відмовилися від перевірки призначеного для користувача введення. Програма складається з трьох файлів: двох форм (frmmain і frmresults, див. мал. 11.2 і 11.3 відповідно) і стандартного модуля Modulel.
    Не дивлячись на свою довжину, програма не містить нічого принципово нового. На головній формі розміщені чотири текстових гюля для введення імені сервера, імені бази даних, ідентифікатора користувача і пароля. При натисненні кнопки Connect програма динамічно виконує введену команду у фрагменті, виділеному жирним шрифтом.

    Мал. 11.2. Головна форма додатку

    Мал. 11.3. Форма результатів додатку

    'frmmain.vb

    Imports System.Data.SqlClient

    Public Class frmmain

    Inherits System.Windows.Forms.Form #region "Windows Form Designer generated code "

    Public Sub New()

    Mybase.New()

    'Виклик необхідний для роботи дизайнера форм Windows

    Initializecomponent()

    ' Подальша ініціалізація виконується

    ' після виклику Initializecomponent()

    End Sub

    ' Форма перевизначає Dispose для очищення списку компонентів.

    Protected Overloads Overrides

    Sub Dispose(Byval disposing As Boolean)

    If Disposing Then

    If Not (components Is Nothing) Then

    components. Dispose()

    End If

    End If

    Mybase.Dispose(Disposing) End Sub

    Private Withevents Label1 As System.Windows.Forms.Label

    Private Withevents Label2 As System.Windows.Forms.Label

    Private Withevents Label3 As System.Windows.Forms.Label

    Private Withevents Label4 As System.Windows.Forms.Label

    Private Withevents btnconnect As System.Windows.Forms.Button

    Private Withevents txtuid As System.Windows.Forms.TextBox

    Private Withevents txtpassword As System.Windows.Forms.TextBox

    Private Withevents txtdatabase As System.Windows.Forms.TextBox

    Private Withevents txtserver As System.Windows.Forms.TextBox

    ' Необхідно для роботи дизайнера форм Windows

    Private components As System.ComponentModel.Container

    ' УВАГА: наступний фрагмент необхідний для дизайнера форм Windows

    ' Для його модифікації слід використовувати дизайнер форм.

    ' Не змінюйте його в редакторові!

    <System.Diagnostics.DebuggerStepThrough()>

    Private Sub _ Initial izecomponent()

    Me.Label4 = New System.Windows.Forms.Label ()

    Me.txtPassword = New System.Windows.Forms.TextBox()

    Me.Label 1 = New System.Windows.Forms.Label ()

    Me.txtServer = New System.Windows.Forms.TextBox()

    Me.Label2 = New System.Windows.Forms.Label ()

    Me.Labels = New System.Windows.Forms.Label ()

    Me.txtUID - New System.Windows.Forms.TextBox()

    Me.txtDatabase = New System.Windows.Forms.TextBox()

    Me.btnConnect = New System.Windows.forms.Button()

    Me.SuspendLayout()

    'Label4

    Me.Label4.Location = New System.Drawing.Point(24.176)

    Me.Label 4.Name = "Label4"

    Me.Label4.Size = New System.Drawing.Size(82.19)

    Me.Label4.TabIndex = 0

    Me.Label4.Text = "Password:"

    Me.Label4.TextAlign = System.Drawi ng.ContentAlignment.MiddleRight

    'txtpassword

    Me.txtPassword.Location = New System.Drawing.Point(168.168)




    :: Наша кнопка ::

    Отримати код:

    Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


    :: Реклама ::

    Скачати безкоштовно програму Microsoft Front Page 2003


    :: Посилання ::

    -


     

     

     


    Copyright ©