DataGrid + DbManager newbie question
От: shatl Украина http://shatl.spaces.live.com
Дата: 11.10.05 12:54
Оценка:
Добрый день!

Объясните популярно, как сделать вот такую вещь:
Есть таблица DeliveryTypes, и SP qDeliveryTypes, insDeliveryTypes, updDeliveryTypes и delDeliveryTypes для получения, вставки обновления и удаления данных из таблицы соответственно.
Нужно программно создать DataGrid, в котором будет редактироваться информация из DeliveryTypes. Доступ к данным должен осуществляться через хранимые процедуры и DbManager из Rsdn.Framework.Data

Заранее благодарен.
SQL:
CREATE TABLE dbo.DeliveryTypes (
    [id] [tinyint] IDENTITY (1, 1),
    [Delivery] [varchar] (50),
    CONSTRAINT [PK_DeliveryTypes] PRIMARY KEY  CLUSTERED 
    (
        [id]
    )
) ON [PRIMARY]
GO

CREATE PROCEDURE dbo.qDeliveryTypes
AS
SELECT id, Delivery
FROM dbo.DeliveryTypes
    ORDER BY Delivery
GO

CREATE PROCEDURE dbo.insDeliveryTypes(
    @id        tinyint,
    @Delivery    smallint
)
AS
SET NOCOUNT ON
INSERT INTO dbo.DeliveryTypes(Delivery)
    VALUES (@Delivery)

SET @id = SCOPE_IDENTITY()

SELECT id, Delivery
FROM dbo.DeliveryTypes
    WHERE id = @id
GO

CREATE PROCEDURE dbo.updDeliveryTypes(
  @id        tinyint,
  @Delivery varchar(50)
)
AS
SET NOCOUNT ON
UPDATE dbo.DeliveryTypes
SET Delivery = @Delivery
    WHERE (id = @id) AND (Delivery <> @Delivery)

GO

CREATE PROCEDURE dbo.insDeliveryTypes(
    @id        tinyint,
    @Delivery    smallint
)
AS
SET NOCOUNT ON
INSERT INTO dbo.DeliveryTypes(Delivery)
    VALUES (@Delivery)
SET @id = SCOPE_IDENTITY()

SELECT id, Delivery
FROM dbo.DeliveryTypes
    WHERE id = @id
GO

CREATE PROCEDURE dbo.delDeliveryTypes(
    @id        tinyint
)
AS
SET NOCOUNT ON
DELETE FROM dbo.DeliveryTypes
    WHERE id = @id
GO
WBR,
Shatl
Re: DataGrid + DbManager newbie question
От: IT Россия linq2db.com
Дата: 12.10.05 00:34
Оценка:
Здравствуйте, shatl, Вы писали:

S>Нужно программно создать DataGrid, в котором будет редактироваться информация из DeliveryTypes. Доступ к данным должен осуществляться через хранимые процедуры и DbManager из Rsdn.Framework.Data


Какой грид? И что значит программно?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: DataGrid + DbManager newbie question
От: shatl Украина http://shatl.spaces.live.com
Дата: 12.10.05 12:23
Оценка:
Здравствуйте, IT, Вы писали:

S>>Нужно программно создать DataGrid, в котором будет редактироваться информация из DeliveryTypes. Доступ к данным должен осуществляться через хранимые процедуры и DbManager из Rsdn.Framework.Data


IT>Какой грид? И что значит программно?

Windows Forms DataGrid
Программно — в смысле ручками в коде, а не в дизайнере.
Больше всего интересует, как поступать с IDENTITY-полями при добавлении новой записи.
P.S. После Delphi как-то непривычно...
WBR,
Shatl
Re[3]: DataGrid + DbManager newbie question
От: IT Россия linq2db.com
Дата: 13.10.05 00:43
Оценка:
Здравствуйте, shatl, Вы писали:

S>Windows Forms DataGrid

S>Программно — в смысле ручками в коде, а не в дизайнере.

Можно поинтересоваться зачем?

S>Больше всего интересует, как поступать с IDENTITY-полями при добавлении новой записи.


С identity полями обычно никак не поступают. Если необходимо получить значение поля после вставки, то это об этом нужно специально позаботиться.

S>P.S. После Delphi как-то непривычно...


В Дельфи под это дело скорее всего сам грид заточен.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: DataGrid + DbManager newbie question
От: shatl Украина http://shatl.spaces.live.com
Дата: 13.10.05 10:22
Оценка:
Здравствуйте, IT, Вы писали:

S>>Windows Forms DataGrid

S>>Программно — в смысле ручками в коде, а не в дизайнере.

IT>Можно поинтересоваться зачем?


1. Для глубины понимания
2. В дизайнере не получится изпользовать DbManager из RFD. Да и если нужно настройки подключения к серверу хранить отдельно или другой объект SqlConnection использовать, а не тот, что генерится дизайнером, все равно придется код менять...

Если поставить вопрос шире, то какие "рекомендации лучших собаководов " как создать форму с DataGrid, связать ее с своим connection, например, из пула коннектов ...

S>>Больше всего интересует, как поступать с IDENTITY-полями при добавлении новой записи.


IT>С identity полями обычно никак не поступают. Если необходимо получить значение поля после вставки, то это об этом нужно специально позаботиться.


Если можно, подробнее...
WBR,
Shatl
Re[5]: DataGrid + DbManager newbie question
От: Andre Украина  
Дата: 13.10.05 11:13
Оценка:
S>2. В дизайнере не получится изпользовать DbManager из RFD. Да и если нужно настройки подключения к серверу хранить отдельно или другой объект SqlConnection использовать, а не тот, что генерится дизайнером, все равно придется код менять...

Мне кажется что те кто используют RFD, вряд ли кидают различные коннекшины на форму. Я по крайней мере уже даже не помню как это делается Форма и коннект к БД это опять же ИМХО не совместимые понятия, разве что совсем уж в учебных целях, да и то это это плохому учить
... << RSDN@Home 1.1.4 beta 7 rev. 467>>
Я бы изменил мир — но Бог не даёт исходников...
Re[6]: DataGrid + DbManager newbie question
От: shatl Украина http://shatl.spaces.live.com
Дата: 13.10.05 11:43
Оценка:
Здравствуйте, Andre, Вы писали:


A>Мне кажется что те кто используют RFD, вряд ли кидают различные коннекшины на форму. Я по крайней мере уже даже не помню как это делается Форма и коннект к БД это опять же ИМХО не совместимые понятия, разве что совсем уж в учебных целях, да и то это это плохому учить


Угу, а можно правильный примерчик?
WBR,
Shatl
Re[5]: DataGrid + DbManager newbie question
От: BorisKV  
Дата: 13.10.05 15:37
Оценка:
Здравствуйте, shatl, Вы писали:

S>>>Больше всего интересует, как поступать с IDENTITY-полями при добавлении новой записи.


IT>>С identity полями обычно никак не поступают. Если необходимо получить значение поля после вставки, то это об этом нужно специально позаботиться.


S>Если можно, подробнее...


Ну можно вот так например через спрок.
Пример:

CREATE Procedure p_Item_Insert
    @Name varchar(50),
    @Quantity int
AS

    insert into Item ([Name], [Quantity])
    values           (@Name,  @Quantity)

    select cast(scope_identity() as int) as  [ItemID]

GO


А потом на выходе читайте значение ItemID из результата...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.