hdv212
چهارشنبه 13 خرداد 1388, 12:59 عصر
با سلام خدمت دوستان عزیز، چند تا سوال کلیدی در زمینه Asp.Net داشتم :
خدمت شما عرض کنم که جستجوی زیادی توی اینترنت کردم برای عملیات CRUD در وب سایت (به جای Win app که تخصص اصلی منه)، متاسفانه دوتا مشکل اساسی داشتم که میخواستم کمکم کنید :
1. هنوز یک راه مناسب برای عملیات CRUD در web app پیدا نکردم، وقتی توی اینترنت میگردم همش از SqlDataSource استفاده کردن(و هم اینکه تا حالا درج در جداول رابطه ای هم نداشتن)، ولی وقتی با دیگران صحبت میکنم میگن از Command معمولی استفاده کنی بهتره، به خاطر همین یک نمونه دیتابیس فرستادم که فقط سه تا جدول داره :
Customers,Order,Persons که بین مشتریات و سفارشات ارتباطی برقراره، زحمتی که براتون دارم اینه که یه نمونه web app خیلی ساده برام بسازید که ببینم چطوری یک مشتری رو به همراه سفارشاتش یکجا ثبت کنم (Insert Relational Data) و هم اینکه ببینم خودتون از چی استفاده میکنید و چی پیشنهاد میکنید.
2. نکته دیگه اینکه من برای نمایش داده ها از چه کنترلی استفاده کنم که به خشکی GridView نباشه ؟ آیا GridView رو پیشنهاد میکنید یا Repeater رو ؟
(چون ما در Win app از کامپوننت DevExpress استفاده میکنیم، اما در وب به خاطر مساله لیسانس، اینکار رو نمیکنیم)، میخواستم ببینم چطوری و از چی استفاده میکنید.
اینم کد T-Sql دیتابیس مورد نظر :
USE [Test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Persons]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Persons](
[PersonID] [uniqueidentifier] NOT NULL,
[PersonName] [nvarchar](50) NULL,
CONSTRAINT [PK_Persons] PRIMARY KEY CLUSTERED
(
[PersonID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Customers]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Customers](
[CustomerID] [uniqueidentifier] NOT NULL,
[CustomerName] [nvarchar](50) NULL,
PRIMARY KEY CLUSTERED
(
[CustomerID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Orders]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Orders](
[OrderID] [uniqueidentifier] NOT NULL,
[CustomerID] [uniqueidentifier] NULL,
[OrderDate] [char](10) NULL,
CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED
(
[OrderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Orders_Customers]') AND parent_object_id = OBJECT_ID(N'[dbo].[Orders]'))
ALTER TABLE [dbo].[Orders] WITH CHECK ADD CONSTRAINT [FK_Orders_Customers] FOREIGN KEY([CustomerID])
REFERENCES [dbo].[Customers] ([CustomerID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Customers]
با تشکر
خدمت شما عرض کنم که جستجوی زیادی توی اینترنت کردم برای عملیات CRUD در وب سایت (به جای Win app که تخصص اصلی منه)، متاسفانه دوتا مشکل اساسی داشتم که میخواستم کمکم کنید :
1. هنوز یک راه مناسب برای عملیات CRUD در web app پیدا نکردم، وقتی توی اینترنت میگردم همش از SqlDataSource استفاده کردن(و هم اینکه تا حالا درج در جداول رابطه ای هم نداشتن)، ولی وقتی با دیگران صحبت میکنم میگن از Command معمولی استفاده کنی بهتره، به خاطر همین یک نمونه دیتابیس فرستادم که فقط سه تا جدول داره :
Customers,Order,Persons که بین مشتریات و سفارشات ارتباطی برقراره، زحمتی که براتون دارم اینه که یه نمونه web app خیلی ساده برام بسازید که ببینم چطوری یک مشتری رو به همراه سفارشاتش یکجا ثبت کنم (Insert Relational Data) و هم اینکه ببینم خودتون از چی استفاده میکنید و چی پیشنهاد میکنید.
2. نکته دیگه اینکه من برای نمایش داده ها از چه کنترلی استفاده کنم که به خشکی GridView نباشه ؟ آیا GridView رو پیشنهاد میکنید یا Repeater رو ؟
(چون ما در Win app از کامپوننت DevExpress استفاده میکنیم، اما در وب به خاطر مساله لیسانس، اینکار رو نمیکنیم)، میخواستم ببینم چطوری و از چی استفاده میکنید.
اینم کد T-Sql دیتابیس مورد نظر :
USE [Test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Persons]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Persons](
[PersonID] [uniqueidentifier] NOT NULL,
[PersonName] [nvarchar](50) NULL,
CONSTRAINT [PK_Persons] PRIMARY KEY CLUSTERED
(
[PersonID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Customers]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Customers](
[CustomerID] [uniqueidentifier] NOT NULL,
[CustomerName] [nvarchar](50) NULL,
PRIMARY KEY CLUSTERED
(
[CustomerID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Orders]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Orders](
[OrderID] [uniqueidentifier] NOT NULL,
[CustomerID] [uniqueidentifier] NULL,
[OrderDate] [char](10) NULL,
CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED
(
[OrderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Orders_Customers]') AND parent_object_id = OBJECT_ID(N'[dbo].[Orders]'))
ALTER TABLE [dbo].[Orders] WITH CHECK ADD CONSTRAINT [FK_Orders_Customers] FOREIGN KEY([CustomerID])
REFERENCES [dbo].[Customers] ([CustomerID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Customers]
با تشکر