Sunday, November 29, 2020

SQL Server CURSOR

 What is a database cursor ?

A database cursor is an object that enables traversal over the rows of a result set. It allows you to process individual row returned by a query.

SQL Server cursor life cycle

These are steps for using a cursor:




DECLARE 
    @Name as NVARCHAR(MAX), 
    @EMP_ID as InT;

DECLARE My_Test CURSOR
FOR SELECT 
        Name, 
        EMP_ID
    FROM 
        EMPLOYEE_MASTER;

OPEN My_Test;
FETCH NEXT FROM My_Test INTO 
    @Name, 
    @EMP_ID;

WHILE @@FETCH_STATUS = 0
    BEGIN
        PRINT @Name +' ' + CAST(@EMP_ID AS varchar);
        
FETCH NEXT FROM My_Test INTO 
            @Name, 
            @EMP_ID;
    END;
CLOSE My_Test;
DEALLOCATE My_Test;

Tuesday, August 6, 2019

How to remove same data in a table row by javascript.

<table id="tbl" border="1" cellpadding="3" cellspacing="0">
                                        <tr><th>Category</th><th>Product</th><th>Size</th><th>Price</th><th>Shipping</th></tr>
                                        <tr><td>Category-1</td><td>Product-1</td><td>Big</td><td>102</td><td>Free</td></tr>
                                        <tr><td>Category-1</td><td>Product-1</td><td>Big</td><td>132</td><td>Free</td></tr>
                                        <tr><td>Category-1</td><td>Product-2</td><td>Big</td><td>130</td><td>Free</td></tr>
                                        <tr><td>Category-1</td><td>Product-2</td><td>Small</td><td>100</td><td>Free</td></tr>
                                        <tr><td>Category-2</td><td>Product-3</td><td>Big</td><td>130</td><td>Free</td></tr>
                                        <tr><td>Category-2</td><td>Product-3</td><td>Big</td><td>100</td><td>Free</td></tr>
                                        <tr><td>Category-2</td><td>Product-3</td><td>Small</td><td>100</td><td>10</td></tr>
                                        <tr><td>Category-2</td><td>Product-4</td><td>Big</td><td>150</td><td>10</td></tr>
                                        <tr><td>Category-3</td><td>Product-5</td><td>Big</td><td>150</td><td>10</td></tr>
                                        <tr><td>Category-3</td><td>Product-5</td><td>Small</td><td>120</td><td>10</td></tr>
                                        <tr><td>Category-3</td><td>Product-5</td><td>Big</td><td>120</td><td>Free</td></tr>
                                        <tr><td>Category-4</td><td>Product-6</td><td>Big</td><td>120</td><td>10</td></tr>
                                        <tr><td>Category-4</td><td>Product-6</td><td>Small</td><td>120</td><td>10</td></tr>
                                    </table>

-----------------------------------------------------------------------------

 $(function () {
                  
                    function groupTable($rows, startIndex, total) {
                        if (total === 0) {
                            return;
                        }
                        var i, currentIndex = startIndex, count = 1, lst = [];
                        var tds = $rows.find('td:eq(' + currentIndex + ')');
                        var ctrl = $(tds[0]);
                        lst.push($rows[0]);
                        for (i = 1; i <= tds.length; i++) {
                            if (ctrl.text() == $(tds[i]).text()) {
                                count++;
                                $(tds[i]).addClass('deleted');
                                lst.push($rows[i]);
                            }
                            else {
                                if (count > 1) {
                                    ctrl.attr('rowspan', count);
                                    groupTable($(lst), startIndex + 1, total - 1)
                                }
                                count = 1;
                                lst = [];
                                ctrl = $(tds[i]);
                                lst.push($rows[i]);
                            }
                        }
                    }
                    groupTable($('#tbl tr:has(td)'), 0, 3);
                    $('#tbl .deleted').remove();

                });

Saturday, May 11, 2019

For Start New Promotion Sale Please Execute it all server


--- Aikhane apni connect er ip likhben r ai block chalaben


GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[USP_Channel_Customer_List]
@ChID INT
AS
BEGIN

if @ChID!=0
BEGIN
IF @ChID=109
BEGIN
UPDATE SYSSETTING SET Channel_POS_BILL_OLD = Channel_POS_BILL, Channel_POS_BILL = 1
SELECT PInt_ID,
Partner_ID+'_'+PartnerName+' ('+[Address]+')' [PartnerName],
ChID,
CAST(ROUND(DiscAllowed, 0, 0) AS INT) AS DiscAllowed
FROM [POSX].[dbo].[PARTNER_MASTER]Where [ChID]=@ChID
END
ELSE
BEGIN
UPDATE SYSSETTING SET Channel_POS_BILL = Channel_POS_BILL_OLD
SELECT PInt_ID,
Partner_ID+'_'+PartnerName+' ('+[Address]+')' [PartnerName],
ChID,
CAST(ROUND(DiscAllowed, 0, 0) AS INT) AS DiscAllowed
FROM [dbo].[PARTNER_MASTER]Where [ChID]=@ChID
END
--109
--[SYSSETTING]
END
ELSE if @ChID=0

BEGIN
SELECT PInt_ID,
Partner_ID+'_'+PartnerName+' ('+[Address]+')' [PartnerName],
ChID,
CAST(ROUND(DiscAllowed, 0, 0) AS INT) AS DiscAllowed
FROM [dbo].[PARTNER_MASTER]Where [ChID] not in(0)
END
END

--uporer ta chalano hole chicher ta chalaben 


--

--- Aikhane apni connect er ip likhben
ALTER TABLE dbo.BILLING_HEADER
ALTER COLUMN INVOICENO nvarchar(100)


----DONE


Tuesday, April 9, 2019

ট্রানজেক্সন ফেইল হলে এইটা চালাতে হবে।


DECLARE @SLID INT,
     @REFID INT,
@DEVID INT

SELECT @SLID = MAX(LASTSERIALNO) FROM SYSDOCSRNO D
INNER JOIN SYSCREGISTER R ON D.REGID=R.REGISTERID
INNER JOIN SYSBUSINESSDAY Y ON Y.BUNIT_ID=R.BUNIT_ID
WHERE DOCUMENTID='POS';

SELECT @REFID=MAX(REF_ID) FROM SALES_POSSALE_HEADER D
INNER JOIN SYSCREGISTER R ON D.Device_ID=R.REGISTERID
INNER JOIN SYSBUSINESSDAY Y ON Y.BUNIT_ID=R.BUNIT_ID;

SELECT @DEVID=MIN(REGID) FROM SYSDOCSRNO WHERE DOCUMENTID='POS' AND LASTSERIALNO=@SLID;
IF @SLID=@REFID
BEGIN

UPDATE SYSDOCSRNO SET LASTSERIALNO=LASTSERIALNO+1 WHERE REGID=@DEVID AND DOCUMENTID='POS'

END

 --SELECT @SLID [SL] SELECT @REFID [REF] SELECT @DEVID [DEVICE]

Database Suspect হলে এই টা চালাতে হবে।

EXEC sp_resetstatus [POSX];
ALTER DATABASE [POSX] SET EMERGENCY
DBCC checkdb([POSX])
ALTER DATABASE [POSX] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ([POSX], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [POSX] SET MULTI_USER

Friday, November 10, 2017

Using "OUT" Parameter With Stored Procedure in MVC

Creating Table in SQL Server Database
Now create a table named UserDetail with the columns UserName, Email and Country. The table looks as below.


Creating a Stored Procedure with Out parameter
Now create a stored procedure with an out parameter to insert data into the table. We create an error out parameter.
===================================
USE [TEST]
GO
/****** Object:  StoredProcedure [dbo].[spuserdetail]    Script Date: 01/25/2012 01:37:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spuserdetail]
@UserName varchar(50),
@Password varchar(50),
@Email varchar(50),
@Country varchar(50),
@ERROR VARCHAR(100) OUT
AS
BEGIN   
         
SET NOCOUNT ON;

IF NOT EXISTS(SELECT * FROM UserDetail WHERE UserName=@UserName) //  To Check UserName is exits or not
BEGIN
INSERT INTO UserDetail(
UserName,
[Password],
Email,
Country
)
VALUES
(
@UserName,
@Password,
@Email,
@Country
)
SET @ERROR=@UserName+' Registered Successfully'
END
ELSE
BEGIN
SET @ERROR=@UserName + ' Already Exists'
END
END
In the above stored procedure, error is the out parameter and other are the input parameter. In this stored procedure we check UserName; if the UserName exists in the table then it will return the message as an Output Parameter.
SET @ERROR=@UserName + ' Already Exists'
If the UserName does not exist in the table then it will return the message as an Output Parameter.
SET @ERROR=@UserName+' Registered Successfully'
====================================
Codebehind
=======================================
  
      string message = string.Empty;
        SqlConnection con = new SqlConnection("Data Source=.; uid=sa; pwd=*****;database=Mehedi;");
     if (conn.State == 0)
            {
                conn.Open();
            }
        SqlCommand cmd = new SqlCommand("USP_GETUSER", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@UserName", UserName);
        cmd.Parameters.AddWithValue("@Password", Password);
        cmd.Parameters.AddWithValue("@Email", Email);
        cmd.Parameters.AddWithValue("@Country", Country);
        cmd.Parameters.Add("@ERROR"SqlDbType.Char, 500);
        cmd.Parameters["@ERROR"].Direction = ParameterDirection.Output;
        cmd.ExecuteNonQuery();
        message = (string)cmd.Parameters["@ERROR"].Value;
    
    

   

Monday, November 6, 2017

How to remove all rows of the table but keep the header

 
  $('#table_Item_Search tr').not(function () { return !!$(this).has('th').length; }).remove();