Thursday 19 December 2013

Issue Facing for saving Changes does not permitted


The Save                  (Not                                                          Permitted) dialog box warns you that saving changes is not permitted because the changes you have made require the listed tables to be dropped and re-created.
The following actions might require a table to be re-created:
  • Adding a new column to the middle of the table
  • Dropping a column
  • Changing column nullability
  • Changing the order of the columns
  • Changing the data type of a column <<<<
To change this option, on the Tools menu, click Options, expand Designers, and then click Table and Database Designers. Select or clear the Prevent saving changes that require the table to be re-created check box.

If yes, goto Menu >> Tools >> Options >> Designers and uncheck “Prevent Saving changes that require table re-creation”














Monday 25 November 2013

Display data from a TextBox to a GridView without saving the data to the database

You have to persists the data between postbacks,

You have many options here: by Session, ViewState, Cache and some other.

protected void Page_Load(object sender, EventArgs e){    if (Page.IsPostback)    {         dt = Session["data_table"] as DataTable;    }}protected void btnTextDisplay_Click(object sender, EventArgs e){     if (dt == null)     {          dt = new DataTable();          DataColumn dc1 = new DataColumn("Name");          DataColumn dc2 = new DataColumn("City");          dt.Columns.Add(dc1);          dt.Columns.Add(dc2);   
     }     DataRow dr = dt.NewRow();     dr[0] = txtName.Text;     dr[1] = txtCity.Text;     dt.Rows.Add(dr);     gvDisplay.DataSource = dt;     gvDisplay.DataBind();     Session["data_table"] = dt;}

mulltiple datatable ,i want to show all the datatable rows into a single gridview.

DataTable  dt1 = ( DataTable)Session["a"];
DataTable  dt2 = ( DataTable)Session["b"];

DateSet ds=New DataSet();
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
GridView1.DataSource=ds;
GridVoew1.DataBind();


Saturday 16 November 2013

Multiple Image Animation Creator Example




<html xmlns="http://www.w3.org/1999/xhtml">
<
head runat="server"><title></title><script type="text/javascript">function copydata(val) {
var parentvalue = document.getElementById(val.id).value;
var elemArray = document.getElementsByName("Child");
for (var i = 0; i < elemArray.length; i++) {
var elem = document.getElementById(elemArray[i].id);elem.value = parentvalue;
}
}

</script></
head><
body><form id="form1" runat="server"><div><input type="text" name="Parent" id="copy_from" onkeyup="javascript:copydata(this)" /><h5><u>Child Control Data</u></h5><input type="text" name="Child" id="copy_to1" disabled />&nbsp;&nbsp;<input type="text" name="Child" id="copy_to2" disabled /><br /><br /><input type="text" name="Child" id="copy_to3" disabled />&nbsp;&nbsp;<input type="text" name="Child" id="copy_to4" disabled /><br /><br /></div></form></
body></
html>

Friday 12 July 2013

How to block different extension files accessed by unauthorized user before Login


    Web.config

    <system.web>
                   <!--Secure ASP.NET cookies-->
    <httpCookies httpOnlyCookies="true" requireSSL="true" lockItem="true" />
    <!—Extension files block for unauthorized user access-->
    <httpHandlers>
          <add verb="*" path="*.txt" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.pdf" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.jpg" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.gif" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.png" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.ico" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.xls" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.xlsx" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.csv" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.doc" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.docx" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.cab" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.htm" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.log" type="WebHandlers.Handler,WebHandlers"/>
          <add verb="*" path="*.xml" type="WebHandlers.Handler,WebHandlers"/>
    </httpHandlers>
    <system.web>

    Type of file extension added to block before login

    *.jpg, *.txt, *.xls, *.xlsx, *.png, *.gif, *.pdf, *.doc, *.docx

    *.csv, *.ico, *.cab,*.htm, *.log, *.xml



    i

Monday 8 July 2013

Datatable using datarow & datacolumn to fecth data to send mail (adding in string Builder)

Ans 1.
DataTable dt = DAL.ExecStoredProc(DAL.DatabaseName.DB, "storedProc", param);
StringBuilder sb = new StringBuilder();
sb
.Append("<br/><br/>");
sb
.Append("<table border='0' cellpadding='3'>");
for (int i = 0; i < dt.Rows.Count; i++)
{
    sb
.Append("<tr><td>");
    sb
.Append(dt.Rows[i]["EMail"].ToString());
    sb
.Append("</td></tr>");
}
sb
.Append("</table>");
return sb.ToString();

Ans 2.
DataTable dt = DAL.ExecStoredProc(DAL.DatabaseName.DB, "storedProc", param);
StringBuilder sb = new StringBuilder();
sb
.Append("<br/><br/>");
sb
.Append("<table border='0' cellpadding='3'>");
for (int i = 0; i < dt.Rows.Count; i++)
{
    sb
.Append("<tr><td>");
    sb
.Append(dt.Rows[i]["EMail"].ToString());
    sb.Append("</td>");
    sb
.Append("<td>");
    sb
.Append(dt.Rows[i]["EMail"].ToString());
    sb.Append("</td>");
    sb
.Append("<td>");
    sb
.Append(dt.Rows[i]["EMail"].ToString());
    sb.Append("</td></tr>");
}
sb
.Append("</table>");
return sb.ToString();

List of Errors Follow before Go Live a Site

http://www.dotnetnoob.com/2010/11/how-to-secure-aspnet-cookies.html
http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx
http://msdn.microsoft.com/en-us/library/ff648339.aspx
http://www.codeproject.com/Articles/573458/An-Absolute-Beginners-Tutorial-on-Cross-Site-Scrip
http://www.iis.net/downloads/microsoft/urlscan
http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx
http://www.rapid7.com/vulndb/lookup/spider-sensitive-form-data-autocomplete-enabled
 

A1: Injection

A2: Cross-Site Scripting (XSS)

A3: Broken Authentication and Session Management

A4: Insecure Direct Object References

A5: Cross-Site Request Forgery (CSRF)

A6: Security Misconfiguration

A7: Insecure Cryptographic Storage

A8: Failure to Restrict URL Access

A9: Insufficient Transport Layer Protection

A10: Unvalidated Redirects and Forwards

Monday 3 June 2013

Sql Server Query for convert number to words

Sql Server Query
First Create a Table of name Sequence
CREATE TABLE [dbo].[Sequence]
    (
      seq INTEGER NOT NULL UNIQUE,
      word [varchar](25) NOT NULL
    )
INSERT INTO [Sequence] SELECT 0, ''
INSERT INTO [Sequence] SELECT 1, 'One'
INSERT INTO [Sequence] SELECT 2, 'Two'
INSERT INTO [Sequence] SELECT 3, 'Three'
INSERT INTO [Sequence] SELECT 4, 'Four'
INSERT INTO [Sequence] SELECT 5, 'Five'
INSERT INTO [Sequence] SELECT 6, 'Six'
INSERT INTO [Sequence] SELECT 7, 'Seven'
INSERT INTO [Sequence] SELECT 8, 'Eight'
INSERT INTO [Sequence] SELECT 9, 'Nine'
INSERT INTO [Sequence] SELECT 10, 'Ten'
INSERT INTO [Sequence] SELECT 11, 'Eleven'
INSERT INTO [Sequence] SELECT 12, 'Twelve'
INSERT INTO [Sequence] SELECT 13, 'Thirteen'
INSERT INTO [Sequence] SELECT 14, 'Fourteen'
INSERT INTO [Sequence] SELECT 15, 'Fifteen'
INSERT INTO [Sequence] SELECT 16, 'Sixteen'
INSERT INTO [Sequence] SELECT 17, 'Seventeen'
INSERT INTO [Sequence] SELECT 18, 'Eighteen'
INSERT INTO [Sequence] SELECT 19, 'Nineteen'
INSERT INTO [Sequence] SELECT 20, 'Twenty'
INSERT INTO [Sequence] SELECT 30, 'Thirty'
INSERT INTO [Sequence] SELECT 40, 'Forty'
INSERT INTO [Sequence] SELECT 50, 'Fifty'
INSERT INTO [Sequence] SELECT 60, 'Sixty'
INSERT INTO [Sequence] SELECT 70, 'Seventy'
INSERT INTO [Sequence] SELECT 80, 'Eighty'
INSERT INTO [Sequence] SELECT 90, 'Ninty'

Then Create a Function

CREATE FUNCTION dbo.udf_NumToWords (
                @num AS INTEGER
)       RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @words AS VARCHAR(50)
IF      @num =     0 SELECT @words = 'Zero'
ELSE IF @num <    20 SELECT @words = word FROM sequence WHERE seq = @num
ELSE IF @num <   100 (SELECT @words = TTens.word + ' ' + TUnits.word
                      FROM Sequence AS TUnits
                     CROSS JOIN Sequence AS TTens
                     WHERE TUnits.seq = (@num % 100) % 10
                       AND TTens.seq = (@num % 100) - (@num % 100) % 10
                    )
ELSE IF @num =   100 (SELECT @words = THundreds.word + ' Hundred'
                      FROM Sequence AS THundreds
                     WHERE THundreds.seq = (@num / 100)
                    )
ELSE IF @num <  1000 (
        SELECT @words = THundreds.word + ' Hundred and '
                        + TTens.word + ' ' + TUnits.word
                      FROM Sequence AS TUnits
                     CROSS JOIN Sequence AS TTens
                     CROSS JOIN Sequence AS THundreds
                     WHERE TUnits.seq = (@num % 100) % 10
                       AND TTens.seq = (@num % 100) - (@num % 100) % 10
                       AND THundreds.seq = (@num / 100)
                    )
ELSE IF @num =  1000 (SELECT @words = TThousand.word + ' Thousand'
                      FROM Sequence AS TThousand
                     WHERE TThousand.seq = (@num / 1000)
                    )
ELSE IF @num < 10000 (
        SELECT @words = TThousand.word + ' Thousand '
                        + THundreds.word + ' Hundred and '
                        + TTens.word + ' ' + TUnits.word
                      FROM Sequence AS TUnits
                     CROSS JOIN Sequence AS TTens
                     CROSS JOIN Sequence AS THundreds
                     CROSS JOIN Sequence AS TThousand
                     WHERE TUnits.seq = (@num % 100) % 10
                       AND TTens.seq = (@num % 100) - (@num % 100) % 10
                       AND THundreds.seq = (@num / 100) - (@num / 1000) * 10
                       AND TThousand.seq = (@num / 1000)
                    )
ELSE SELECT @words = STR(@num)
RETURN @words
END

Number to word in SQL

SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ON
SET NOCOUNT ON
GO



CREATE FUNCTION dbo
.udf_Num_ToWords (
@Number Numeric (38, 0) -- Input number with as many as 18 digits
) RETURNS VARCHAR(8000)
/*
* Converts a integer number as large as 34 digits into the
* equivalent words.  The first letter is capitalized.
*
* Attribution: Based on NumberToWords by Srinivas Sampath
*        as revised by Nick Barclay
*
* Example:
select dbo.udf_Num_ToWords (1234567890) + CHAR(10)
      +  dbo.udf_Num_ToWords (0) + CHAR(10)
      +  dbo.udf_Num_ToWords (123) + CHAR(10)
select dbo.udf_Num_ToWords(76543210987654321098765432109876543210)

DECLARE @i numeric (38,0)
SET @i = 0
WHILE @I <= 1000 BEGIN
    PRINT convert (char(5), @i)
            + convert(varchar(255), dbo.udf_Num_ToWords(@i))
    SET @I  = @i + 1
END
*
* Published as the T-SQL UDF of the Week Vol 2 #9 2/17/03
****************************************************************/

AS
BEGIN

DECLARE
@inputNumber VARCHAR(38)
DECLARE
@NumbersTable TABLE (number CHAR(2), word VARCHAR(10))
DECLARE
@outputString VARCHAR(8000)
DECLARE
@length INT
DECLARE
@counter INT
DECLARE
@loops INT
DECLARE
@position INT
DECLARE
@chunk CHAR(3) -- for chunks of 3 numbers
DECLARE
@tensones CHAR(2)
DECLARE
@hundreds CHAR(1)
DECLARE
@tens CHAR(1)
DECLARE
@ones CHAR(1)

IF
@Number = 0 Return 'Zero'
-- initialize the variables
SELECT
@inputNumber = CONVERT(varchar(38), @Number)
    
, @outputString = ''
    
, @counter = 1
SELECT
@length   = LEN(@inputNumber)
    
, @position = LEN(@inputNumber) - 2
    
, @loops    = LEN(@inputNumber)/3
-- make sure there is an extra loop added for the remaining numbers
IF LEN
(@inputNumber) % 3 <> 0 SET @loops = @loops + 1
-- insert data for the numbers and words
INSERT INTO
@NumbersTable   SELECT '00', ''
    UNION ALL SELECT
'01', 'one'      UNION ALL SELECT '02', 'two'
    UNION ALL SELECT
'03', 'three'    UNION ALL SELECT '04', 'four'
    UNION ALL SELECT
'05', 'five'     UNION ALL SELECT '06', 'six'
    UNION ALL SELECT
'07', 'seven'    UNION ALL SELECT '08', 'eight'
    UNION ALL SELECT
'09', 'nine'     UNION ALL SELECT '10', 'ten'
    UNION ALL SELECT
'11', 'eleven'   UNION ALL SELECT '12', 'twelve'
    UNION ALL SELECT
'13', 'thirteen' UNION ALL SELECT '14', 'fourteen'
    UNION ALL SELECT
'15', 'fifteen'  UNION ALL SELECT '16', 'sixteen'
    UNION ALL SELECT
'17', 'seventeen' UNION ALL SELECT '18', 'eighteen'
    UNION ALL SELECT
'19', 'nineteen' UNION ALL SELECT '20', 'twenty'
    UNION ALL SELECT
'30', 'thirty'   UNION ALL SELECT '40', 'forty'
    UNION ALL SELECT
'50', 'fifty'    UNION ALL SELECT '60', 'sixty'
    UNION ALL SELECT
'70', 'seventy'  UNION ALL SELECT '80', 'eighty'
    UNION ALL SELECT
'90', 'ninety'

WHILE
@counter <= @loops BEGIN
-- get chunks of 3 numbers at a time, padded with leading zeros
SET
@chunk = RIGHT('000' + SUBSTRING(@inputNumber, @position, 3), 3)

IF
@chunk <> '000' BEGIN
SELECT
@tensones = SUBSTRING(@chunk, 2, 2)
    
, @hundreds = SUBSTRING(@chunk, 1, 1)
    
, @tens = SUBSTRING(@chunk, 2, 1)
    
, @ones = SUBSTRING(@chunk, 3, 1)
-- If twenty or less, use the word directly from @NumbersTable
IF CONVERT
(INT, @tensones) <= 20 OR @Ones='0' BEGIN
SET
@outputString = (SELECT word
                                      FROM
@NumbersTable
                                      WHERE
@tensones = number)
                  
+ CASE @counter WHEN 1 THEN '' -- No name
                       WHEN
2 THEN ' thousand ' WHEN 3 THEN ' thousand '
                       WHEN
4 THEN ' billion '  WHEN 5 THEN ' trillion '
                       WHEN
6 THEN ' quadrillion ' WHEN 7 THEN ' quintillion '
                       WHEN
8 THEN ' sextillion '  WHEN 9 THEN ' septillion '
                       WHEN
10 THEN ' octillion '  WHEN 11 THEN ' nonillion '
                       WHEN
12 THEN ' decillion '  WHEN 13 THEN ' undecillion '
                       ELSE
'' END
                              
+ @outputString
   
END
ELSE
BEGIN -- break down the ones and the tens separately

             SET
@outputString = ' '
                           
+ (SELECT word
                                    FROM
@NumbersTable
                                    WHERE
@tens + '0' = number)
        
+ '-'
                            
+ (SELECT word
                                    FROM
@NumbersTable
                                    WHERE
'0'+ @ones = number)
                  
+ CASE @counter WHEN 1 THEN '' -- No name
                       WHEN
2 THEN ' thousand ' WHEN 3 THEN ' million '
                       WHEN
4 THEN ' billion '  WHEN 5 THEN ' trillion '
                       WHEN
6 THEN ' quadrillion ' WHEN 7 THEN ' quintillion '
                       WHEN
8 THEN ' sextillion '  WHEN 9 THEN ' septillion '
                       WHEN
10 THEN ' octillion '  WHEN 11 THEN ' nonillion '
                       WHEN
12 THEN ' decillion '   WHEN 13 THEN ' undecillion '
                       ELSE
'' END
                           
+ @outputString
END
-- now get the hundreds
IF
@hundreds <> '0' BEGIN
SET
@outputString  = (SELECT word
                                      FROM
@NumbersTable
                                      WHERE
'0' + @hundreds = number)
           
+ ' hundred '
                               
+ @outputString
END
END

SELECT
@counter = @counter + 1
    
, @position = @position - 3
END
-- Remove any double spaces
SET
@outputString = LTRIM(RTRIM(REPLACE(@outputString, '  ', ' ')))
SET
@outputstring = UPPER(LEFT(@outputstring, 1)) + SUBSTRING(@outputstring, 2, 8000)


RETURN
@outputString -- return the resultEND

--select dbo.udf_Num_ToWords(100)