نمایش نتایج 1 تا 8 از 8

نام تاپیک: دستور insert در اسكيو ال

  1. #1

    دستور insert در اسكيو ال

    با سلام
    دوستان من 10 تا ركورد دارم حالا از اين 10 ركورد ممكن 4 تاش توي جدول قبلان ثبت شده باشد پس با اين حساب 6 ركورد ديگه دارم تا توي جدولم درج كنم حالا فقط اين 6 ركورد را كه درج كردم ميخوام اگه تكراري بود درج نشه در ضمن پيغام فقط يك بار ظاهر بشه حالا فقط يك بار درج ميشه ولي سر پيغامش مشكل دارم چون اين استور پروسيجر را توي حلقه در سي‌شارپ به تعداد ركوردهاي موجود توي ديتاگريد صدا ميزنم مثلا اگه 6 تا ركورد توي ديتاگريد است يه حلقه 6 بار اين استورپروسيجر را صدا ميزنم راه بهتري براي اين كار وجود داره
    @ci int,
    @di int=null,
    @sal nvarchar(9),
    @si int
    AS

    if not exists (select * from tbl_pardakh where sal=@sal and customerid=@ci)
    insert into tbl_pardakh(customerid,driverid,sal,scoolid) values(@ci,@di,@sal,@si)
    ELSE
    RAISERROR('ركورد جاري قبلا ثبت شده است',16,1);

    خيلي عجله دارم
    با تشكر

  2. #2

    نقل قول: دستور insert در اسكيو ال

    سلام،
    نمی تونید تمام سطرهای موجود در datagrid را به یکباره درج کنید؟ و قبل از درج سطرهای تکراری را فیلتر کنید؟

    یعنی:
    INSERT INTO table_name
    SELECT * FROM source AS c
    WHERE NOT EXISTS (
    SELECT * FROM table_name
    WHERE col1 = c.col1
    AND col2 = c.col2)

    IF @@rowcount < (SELECT COUNT(*) FROM source) RAISERROR...
    وبلاگ من (Advanced SQL Querying)

  3. #3

    نقل قول: دستور insert در اسكيو ال

    نقل قول نوشته شده توسط msalim مشاهده تاپیک
    سلام،
    نمی تونید تمام سطرهای موجود در datagrid را به یکباره درج کنید؟ و قبل از درج سطرهای تکراری را فیلتر کنید؟

    یعنی:
    INSERT INTO table_name
    SELECT * FROM source AS c
    WHERE NOT EXISTS (
    SELECT * FROM table_name
    WHERE col1 = c.col1
    AND col2 = c.col2)

    IF @@rowcount < (SELECT COUNT(*) FROM source) RAISERROR...
    با سلام و تشكر
    خوب من تو كدي كه خودم نوشتم در واقع فيلتر كردم كه ركورد تكراري درج نشه ميشه كد خودتون را با كد من مثال بزنيد و اين rowcount مقدارش رو از كجا ميگيره خودش اتوماتيك پر ميشه
    با تشكر
    خيلي عجله دارم

  4. #4

    نقل قول: دستور insert در اسكيو ال

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

    تابع rowcount تعداد سطرهایی که affected شده اند را بر میگرداند. در صورتی که هیچ سطر تکراری وجود نداشته باشد تمام داده ها درج می شوند در این حالت مقداری را که rowcount بر میگرداند برابر با تعداد کل سطرهای درج شده است. در صورتی که تعداد سطرهای درج شده از تعداد کل سطرها (که قرار بر درجشان هست) کوچکتر باشد معلوم می شود که تعدادی سطر فیلتر شده است در این حالت می توانید به کاربر اطلاع دهید که سطر تکراری در میان سطرها وجود داشته است.

    اگر مطالبی که گفتم مشکلات را حل نکرد، نیاز هست بطور کاملتر و شفاف تر نیازتان را مطرح کنید تا کمکتان کنم.
    وبلاگ من (Advanced SQL Querying)

  5. #5

    نقل قول: دستور insert در اسكيو ال

    نقل قول نوشته شده توسط msalim مشاهده تاپیک
    شما نیاز دارین در صورت وجود سطر تکراری یکبار پیغام داده شود.
    روش فیلتر کردن شما با حلقه قابل مقایسه با روشی که من استفاده کردم نیست. چون روش پیشنهادی من یکباره تمام سطرها را فیلتر می کنم و یکباره تمام سطرها را درج می کنم.

    تابع rowcount تعداد سطرهایی که affected شده اند را بر میگرداند. در صورتی که هیچ سطر تکراری وجود نداشته باشد تمام داده ها درج می شوند در این حالت مقداری را که rowcount بر میگرداند برابر با تعداد کل سطرهای درج شده است. در صورتی که تعداد سطرهای درج شده از تعداد کل سطرها (که قرار بر درجشان هست) کوچکتر باشد معلوم می شود که تعدادی سطر فیلتر شده است در این حالت می توانید به کاربر اطلاع دهید که سطر تکراری در میان سطرها وجود داشته است.

    اگر مطالبی که گفتم مشکلات را حل نکرد، نیاز هست بطور کاملتر و شفاف تر نیازتان را مطرح کنید تا کمکتان کنم.
    با سلام
    من آخه يه جدول به نام pardakt دارم ميخوام داخل اين جدول مقدارم را درج كنم حالا از ديتا گريد چطوري تمام مقدارها رو ارسال كنم ولي شما تو مثال ظاهران دو جدول داريد اگه ميشه اين حلقه را روي كد من كه نوشتم بذاريد اين كل استورپروسيجر من كه تو تاپيك گذاشتم
    با تشكر
    خيلي عجله دارم

  6. #6

    نقل قول: دستور insert در اسكيو ال

    نقل قول نوشته شده توسط s_mokhtari مشاهده تاپیک
    با سلام
    من آخه يه جدول به نام pardakt دارم ميخوام داخل اين جدول مقدارم را درج كنم حالا از ديتا گريد چطوري تمام مقدارها رو ارسال كنم ولي شما تو مثال ظاهران دو جدول داريد اگه ميشه اين حلقه را روي كد من كه نوشتم بذاريد اين كل استورپروسيجر من كه تو تاپيك گذاشتم
    با تشكر
    خيلي عجله دارم
    من دستور درج را كه نوشتم نميبتونم بعدش از دستور IF استفاده كنم خطا ميده
    ALTER PROCEDURE [34]

    @si int,
    @name nvarchar(50)=null,
    @school int=null,
    @driver int=null

    AS


    INSERT INTO TBL_PARDAKH
    if (@name is not null and @school is null and @driver is null)
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') order by فاميل


    if (@name is not null and @school is not null and @driver is null)
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school order by فاميل

    if (@name is not null and @school is not null and @driver is not null)
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school and tbl_customer.driverid=@driver order by فاميل

    /*name is null*/
    if (@name is null and @school is null and @driver is null)
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') order by فاميل


    if (@name is null and @school is not null and @driver is null)
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school order by فاميل

    if (@name is null and @school is not null and @driver is not null)
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school and tbl_customer.driverid=@driver order by فاميل

    آخه من سه تا كمبوباكس دارم كه ممكن هر سه تاش پر باشه ممكن يكيش ممكن دوتاش براي همين شرط گذاشتم ممكن راننده را انتخاب كنه با مدرسه ممكن فقط نام مشتري را انتخاب كنه تازه تو جدول پرداختم فقط ميخوام از 8 تا ستونش فقط 4 تاشو پر كنم ولي با اينسرت نميشه
    با تشكر

  7. #7

    نقل قول: دستور insert در اسكيو ال

    من فقط کدتان را طوری اصلاح کردن که دیگر error نده

    ALTER PROCEDURE [34]

    @si int,
    @name nvarchar(50)=null,
    @school int=null,
    @driver int=null

    AS

    if (@name is not null and @school is null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') order by فاميل


    if (@name is not null and @school is not null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school order by فاميل

    if (@name is not null and @school is not null and @driver is not null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school and tbl_customer.driverid=@driver order by فاميل

    /*name is null*/
    if (@name is null and @school is null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') order by فاميل


    if (@name is null and @school is not null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school order by فاميل

    if (@name is null and @school is not null and @driver is not null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school and tbl_customer.driverid=@driver order by فاميل


    وبلاگ من (Advanced SQL Querying)

  8. #8

    نقل قول: دستور insert در اسكيو ال

    نقل قول نوشته شده توسط msalim مشاهده تاپیک
    من فقط کدتان را طوری اصلاح کردن که دیگر error نده

    ALTER PROCEDURE [34]

    @si int,
    @name nvarchar(50)=null,
    @school int=null,
    @driver int=null

    AS

    if (@name is not null and @school is null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') order by فاميل


    if (@name is not null and @school is not null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school order by فاميل

    if (@name is not null and @school is not null and @driver is not null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school and tbl_customer.driverid=@driver order by فاميل

    /*name is null*/
    if (@name is null and @school is null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') order by فاميل


    if (@name is null and @school is not null and @driver is null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school order by فاميل

    if (@name is null and @school is not null and @driver is not null)
    INSERT INTO TBL_PARDAKH
    SELECT TOP (100) PERCENT dbo.Tbl_Customer.CustomerID As كد, dbo.Tbl_Customer.LastName + ' ' + dbo.Tbl_Customer.FirstName AS فاميل,
    dbo.Tbl_Customer.Namfader AS نام‌پدر, dbo.Tbl_Customer.Klas As كلاس, dbo.Tbl_Customer.Tel1 As تلفن, dbo.Tbl_Customer.Mobile1 AS همراه, dbo.Tbl_Customer.Mobile2 AS همراه2,
    dbo.Tbl_Customer.Address As آدرس, dbo.Tbl_Customer.mrz AS شرح
    FROM dbo.Tbl_Driver RIGHT OUTER JOIN
    dbo.Tbl_Customer ON dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID LEFT OUTER JOIN
    dbo.Tbl_ScoolM INNER JOIN
    dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo ON dbo.Tbl_Customer.ScoolID = dbo.Tbl_Scool.ScoolID
    WHERE (dbo.Tbl_Customer.LastName LIKE @name + '%') and tbl_customer.scoolid=@school and tbl_customer.driverid=@driver order by فاميل


    سلام
    با تشكر از راهنمايي شما ميخواستم ببينم راهي وجود نداره كه تيكه بالا تمام شرطها يكي فقط از شرط به بعدش فرق ميكنه براي جلوگيري از اين تكرار چيكار كنم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •