Один и тот же набор данных для двух или более форм - PullRequest
0 голосов
/ 03 мая 2020

Я хотел бы спросить, что вы думаете, это лучшее решение для этой проблемы:
У меня есть две формы. В каждой форме мне нужно добавить продукты в datagridview.
Я создал класс для продукта.
Мой вопрос
ПУТЬ 1 - лучше ли возвращать набор данных с продуктами для каждой формы и заполнять записи в форме? ИЛИ
WAY 2 - только для передачи имени таблицы данных и заполнения его записями из таблицы данных в процедуре класса

WAY 1:

'class Product:

Public Function GetData() as Dataset

    dim myConn as new MysqlConnection("login data")
    myConn.open

    dim cmd as New MysqlCommand
    With cmd
        .Connection = myConn 
        .CommandType= CommandType.Text
        .CommandText="SELECT product_id, name FROM products"
        dim da as new MysqlDataAdapter(cmd.CommandText, myConn)
        dim ds as new Dataset
        da.fill(ds)
        return ds
    End with

End Function

'модуль Форма 1:

dim products as new Product
dim ds1 as Dataset
ds1 = products.GetData
datagridview1.datasource = ds1

' модуль Форма 2:

dim products as new Product
dim ds1 as Dataset
ds1 = products.GetData
datagridview1.datasource = ds1

ПУТЬ 2:

Модуль 'Класс продукта:

Public Sub GetAndWriteData(c as Control) 

    dim myConn as new MysqlConnection("login data")
    myConn.open

    dim cmd as New MysqlCommand
    With cmd
        .Connection = myConn 
        .CommandType= CommandType.Text
        .CommandText="SELECT product_id, name FROM products"
        dim da as new MysqlDataAdapter(cmd.CommandText, myConn)
        dim ds as new Dataset
        da.fill(ds)
        c.Datasource = ds
    End with
End Sub

' Форма 1:

dim products as new Product
products.GetAndWriteData(Me.Datagridview1)

'Модуль Форма 2:

dim products as new Product
products.GetAndWriteData(Me.Datagridview1)
...