View Full Version : سوال: ترنزکشن در asp
starland
شنبه 04 آبان 1392, 10:20 صبح
سلام
من با ترنزکشن تا حالا تو asp کار نکردم می خوام وقتی قراره چند رکورد تو دیتابیس اینزرت کنم با یک حلقه for
اگر یکی از اینزرتها انجام نشد بقیه هم انجام نشه ممکنه راهنماییم کنید
starland
شنبه 04 آبان 1392, 14:48 عصر
یعنی کسی نمی دونه ؟؟؟؟؟؟؟؟؟:افسرده:
aspismylove
شنبه 04 آبان 1392, 15:15 عصر
سلام
من با ترنزکشن تا حالا تو asp کار نکردم می خوام وقتی قراره چند رکورد تو دیتابیس اینزرت کنم با یک حلقه for
اگر یکی از اینزرتها انجام نشد بقیه هم انجام نشه ممکنه راهنماییم کنید
حالا چ لزومیه که حتما با ترنزکشن انجامش بدی ؟؟؟ :متفکر:
starland
شنبه 04 آبان 1392, 15:28 عصر
خوب راه بهتر چیه ؟؟؟؟؟ من با stored procedure هم می تونم این کارو انجام بدم اما مشکل اینه که نمی دونم چطوری مقدار countfor را با مقدار textbox که کاربر در صفحه وارد می کنه پر کنم در SP !!!
ALTER PROCEDURE [dbo].[sp_insertConsumer]
@codeconsumer VARCHAR,
@date DATETIME,
@status VARCHAR,
@idmodel INT,
@price INT,
@totalcount VARCHAR,
@type VARCHAR,
@note VARCHAR,
@position VARCHAR,
@entrydate datetime,
@countfor INT
AS
DECLARE @Iterator INT
SET @Iterator = 0
WHILE (@Iterator < countfor)
BEGIN
INSERT INTO [dbo].[Consumer] ([Code_Consumer], [ID_Model], [Consumer_Price], [Total_Count], [Type], [Note], [Position], [Entry_Date], [Status])
VALUES (@codeconsumer, @idmodel, @price, @totalcount, @type, @note, @position, @entrydate, @status)
Set @Iterator = @Iterator + 1
END
aspismylove
شنبه 04 آبان 1392, 15:32 عصر
خوب راه بهتر چیه ؟؟؟؟؟ من با stored procedure هم می تونم این کارو انجام بدم اما مشکل اینه که نمی دونم چطوری مقدار countfor را با مقدار textbox که کاربر در صفحه وارد می کنه پر کنم در SP !!!
ALTER PROCEDURE [dbo].[sp_insertConsumer]
@codeconsumer VARCHAR,
@date DATETIME,
@status VARCHAR,
@idmodel INT,
@price INT,
@totalcount VARCHAR,
@type VARCHAR,
@note VARCHAR,
@position VARCHAR,
@entrydate datetime,
@countfor INT
AS
DECLARE @Iterator INT
SET @Iterator = 0
WHILE (@Iterator < countfor)
BEGIN
INSERT INTO [dbo].[Consumer] ([Code_Consumer], [ID_Model], [Consumer_Price], [Total_Count], [Type], [Note], [Position], [Entry_Date], [Status])
VALUES (@codeconsumer, @idmodel, @price, @totalcount, @type, @note, @position, @entrydate, @status)
Set @Iterator = @Iterator + 1
END
اگه درست متوجه شده باشم، تو میخای مقداری که کاربر توی تکست باکس پر میکنه رو پاس بدی به پروسیجرت ؟؟؟
اگه این و میخای انجام بدی، بیا پارامتری بفرس به پروسیجرت و بعد اون و توی پروسیجر استفاده کن، خیلی سادس که !!!
starland
شنبه 04 آبان 1392, 15:39 عصر
بله این کارو می خوام انجام بدم اما متغیر countfor را در SP ایراد می گیره sql و خطا میده :افسرده:
starland
شنبه 04 آبان 1392, 15:41 عصر
Invalid column name 'countfor' این error را میده !!!
aspismylove
شنبه 04 آبان 1392, 15:42 عصر
یعنی چی خطا میگیره ؟؟!؟!؟!
یعنی اگه تو بیای و توی خط زیر بجای countfor از ی پارامتر ارسالی استفاده کنی SQL خطا میگیره ازت :متعجب: :متفکر: ؟؟؟؟
WHILE (@Iterator < countfor)
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.