PDA

View Full Version : ساخت Table با SP



mohsen_f_b
پنج شنبه 12 شهریور 1388, 22:48 عصر
سلام.
نمی دونستم کجا باید این درخواست داشته باشم ، تو انجمن سی شارپ یا اینجا.
من نیاز به یک SP دارم که کاربر بتونه یه جدول مورد نیازش تا 4 فیلد رو درست کنه.
باید ای SP رو به برنامه تو سی شارپ وصل کنم.
من تا یه حدی رفتم ولی نتونستم بنویسم ای SPرو.
از دوستان هرکی می تونه کمک کنه ممنون می شم.

als_1360
پنج شنبه 12 شهریور 1388, 23:57 عصر
Test it

exec('CREATE TABLE [dbo].[' + @ype + '](

[TeklifEM] [bigint] NOT NULL,

[Cinsi] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[Adet] [int] NULL,

[Birim] [nchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[BirimFiyat] [money] NULL,

[ToplamFiyat] [money] NULL,

[TeklifId] [bigint] NULL) ')

mohsen_f_b
جمعه 13 شهریور 1388, 01:34 صبح
سلام
ممنونم
آقا یکم در موردش توضیح می دی؟

مثلا تو این قسمت exec('CREATE TABLE [dbo].[' + @ype + '](
من هر اسمی که زدم با اون اسم برام بسازه نشد فقط بااسم @ype برام درست می کنه.
قبلشم یه متغییر تعریف کردم با اون اسم بازم نشد.
باتشکر

علیرضا مداح
جمعه 13 شهریور 1388, 08:53 صبح
سلام دوست عزیز،
اگر قصد ایجاد یک Table توسط یک SP را دارید، می توانید یک Dynamic Query ایجاد کرده و توسط دستور EXECUTE/EXEC یا sp_execute اجرا نمایید که بهره گیری از sp_executesql توصیه می شود،
همچنین می توانید از SMO (http://msdn.microsoft.com/en-us/library/ms162169.aspx) بهره بگیرید،/

mohsen_f_b
جمعه 13 شهریور 1388, 09:23 صبح
سلام دوست عزیز،
اگر قصد ایجاد یک Table توسط یک SP را دارید، می توانید یک Dynamic Query ایجاد کرده و توسط دستور EXECUTE/EXEC یا sp_execute اجرا نمایید که بهره گیری از sp_executesql توصیه می شود،
همچنین می توانید از SMO (http://msdn.microsoft.com/en-us/library/ms162169.aspx) بهره بگیرید،/

سلام
من یه راه حل ساده می خوام که بتونم جوری که توضیح دادم بسازم.
این سوال استاد تو دانشگاه بود و قرار تو امتحان بیاد و قراره به سی شارپ وصلش کنم و اسم جدول و فیلدهارد از اونجا بگیره.
فقط بگین چطوری می تونم @ype رو مقدار دهی کنم.

ممنونم

mohsen_f_b
جمعه 13 شهریور 1388, 10:24 صبح
سلام
من این کارو کردم بازم نشد.




CREATE PROCEDURE mTable
@Name VarChar(20)
AS

CREATE TABLE [' + @Name + '](
ID bigint NOT NULL )


مشکل کد چیه؟
ممنونم