Search This Blog

Wednesday, August 22, 2012

Generate Method Stub

Visual Studio

Generate Method Stub is an IntelliSense Automatic Code Generation feature that provides an easy way to have Visual Studio create a new method declaration at the time you are writing a method call. Visual Studio infers the declaration from the call.








Saturday, August 18, 2012

SET NOCOUNT SQL Server

SQL Server > Transact-SQL > SET NOCOUNT           

Stops the message indicating the number of rows affected by a Transact-SQL statement from being returned as part of the results.
SET NOCOUNT { ON | OFF }
Remarks

  • ON the count is not returned
  • OFF the count is returned





Trunc Date Only No Time SQL Server

SQL Server > Built-in Functions CAST > Trunc

Trunc date in SQL Server


SELECT Cast(GetDate() AS date)

Results:2012-08-18







Convert .NET DateTime.Ticks to SQL datetime

SQL Server > Convert .NET DateTime.Ticks to SQL datetime

A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond.

The value of this property represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001, which represents DateTime.MinValue. It does not include the number of ticks that are attributable to leap seconds.





C#

var t = DateTime.Now.ToUniversalTime().Ticks; // ToUniversalTime : Converts the value of the current DateTime object to Coordinated Universal Time (UTC).

SQL Server Function to convert


create function TicksToDateTime
(@Ticks bigint)
RETURNS datetime AS
BEGIN
        -- First, we will convert the ticks into a datetime value with UTC time
         DECLARE @BaseDate datetime;
         SET @BaseDate = '01/01/1900';
         DECLARE @NetFxTicksFromBaseDate bigint;
         SET @NetFxTicksFromBaseDate = @Ticks - 599266080000000000;
-- The numeric constant is the number of .Net Ticks between the System.DateTime.MinValue (01/01/0001) and the SQL Server datetime base date (01/01/1900)
         DECLARE @DaysFromBaseDate int;
         SET @DaysFromBaseDate = @NetFxTicksFromBaseDate / 864000000000; -- The numeric constant is the number of .Net Ticks in a single day.
         DECLARE @TimeOfDayInTicks bigint;
         SET @TimeOfDayInTicks = @NetFxTicksFromBaseDate - @DaysFromBaseDate * 864000000000;
        DECLARE @TimeOfDayInMilliseconds int;
        SET @TimeOfDayInMilliseconds = @TimeOfDayInTicks / 10000; -- A Tick equals to 100 nanoseconds which is 0.0001 milliseconds
        DECLARE @UtcDate datetime;
        SET @UtcDate = DATEADD(ms, @TimeOfDayInMilliseconds, DATEADD(d,@DaysFromBaseDate, @BaseDate)); -- The @UtcDate is already useful. If you need the time in UTC, just return this value.
      -- Now, some magic to get the local time
         RETURN @UtcDate + GETDATE() - GETUTCDATE();
END
GO
select dbo.TicksToDateTime(634808765429446556)

result:

2012-08-18 11:49:02.947




msdb.dbo.sp_send_dbmail SQL Server sp_send_dbmail

SQL Server > System Stored Procedures > sp_send_dbmail

Using sp_send_dbmail you can send an e-mail message to the specified recipients.
This stored procedure is in placed the msdb database.

Syntax and parameters:

sp_send_dbmail @profile_name , @recipients , @copy_recipients, @blind_copy_recipients ,  @from_address, @reply_to, @subject, @body, @body_format, @importance, @file_attachments
 
Example send email with file attached:
 
declare @_recipients nvarchar(max)=''
declare @_ord_id nvarchar(255)
declare @_subject nvarchar(max)
declare @_body nvarchar(max)

set @_subject = 'Order with id=11 was delivered.'; set @_body = 'Order with id=11 was delivered.' + CHAR(13) +CHAR(13) + 'PLEASE DON''T REPLY TO THIS EMAIL!';
set @_recipients = 'to@domain.com'

exec msdb.dbo.sp_send_dbmail @profile_name = 'smtp profile name',
@recipients = @_recipients, @from_address = 'order@domain.com', @subject = @_subject, @body = @_body, @body_format = 'TEXT', @file_attachments ='C:\File.txt';




Where to find the definition?
 
USE msdb;
GO sp_helptext 'dbo.sp_send_dbmail';
SELECT
   definition FROM    sys.sql_modules WHERE    object_id = OBJECT_ID('dbo.sp_send_dbmail');

Database Mail Configuration Wizard

To start the Database Mail Configuration Wizard, in Object Explorer, expand Management, right-click Database Mail, and then click Configure Database Mail.





Monday, August 13, 2012

Error message after you install the .NET Framework 4.0: "Could not load type 'System.ServiceModel.Activation.HttpModule'"

ASP.NET > HttpModule

Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.



To resolve this issue, run the following command line:


aspnet_regiis.exe /iru

The Aspnet_regiis.exe file can be found in one of the following locations:

%windir%\Microsoft.NET\Framework\v4.0.30319

%windir%\Microsoft.NET\Framework64\v4.0.30319 (on a 64-bit computer)







Get Current Url ASP.NET (VB.NET)

ASP.NET > Get Current Url

The ServerVariables collection is used to retrieve the server variable values.

SERVER_NAME: Returns the server's host name, DNS alias, or IP address
SERVER_PORT: Returns the port number to which the request was sent
SCRIPT_NAME: Returns a virtual path to the script being executed

Example: Get Current Url with parameters

Public Shared Function GetCurrentUrl()
' currentUrl
 Dim currentUrl = "http://" &HttpContext.Current.Request.ServerVariables  ("SERVER_NAME").ToString()

 If HttpContext.Current.Request.ServerVariables("SERVER_PORT").ToString() <> "" Then
    currentUrl = currentUrl + ":" + HttpContext.Current.Request.ServerVariables("SERVER_PORT").ToString()
  End If
  currentUrl = currentUrl + HttpContext.Current.Request.ServerVariables ("SCRIPT_NAME").ToString()
 If HttpContext.Current.Request.QueryString.ToString() <> "" Then
   currentUrl += "?" + HttpContext.Current.Request.QueryString.ToString()
 End If
 Return currentUrl
End Function