Full Trust European Hosting

BLOG about Full Trust Hosting and Its Technology - Dedicated to European Windows Hosting Customer

DotNetNuke Hosting - HostForLIFE.eu : Forgot Your DNN Password?

clock December 5, 2019 11:47 by author Peter

I found myself having to access as administrator a site built with DotNetNuke Hosting without knowing the password or being able to reach the person who created it. What was I to do?

 

1. Create a new website (I am using C# here) in Visual Studio

2. Inside the web.config file, add the machineKey tag and provide “validationKey” and “decryptionKey” as found from web.config file of your running DNN site using which passwords are stored. (The keys provided here will work with the password as given in step)

<machineKey validationKey="5D47DA8BBE8C9D02378BC3360FD6724A43C69016" decryptionKey="F5292CB499D6A71955A7B389BFBF3712D0A48D1971DEE889" decryption="3DES" validation="SHA1" >

3. Create a new class and name it, “RecoverPassword.cs”

 using System; 
 using System.Configuration.Provider; 
 using System.Text; 
 using System.Web.Security; 
 public class RecoverPassword : MembershipProvider { 
   //Create a static instance of this class as a singelton  
   private static readonly RecoverPassword _instance = new RecoverPassword(); 
   public override MembershipPasswordFormat PasswordFormat { 
     get { 
       return MembershipPasswordFormat.Encrypted; 
     }   
   }  
   public static string RecoverEncryptedString(string target)   
   {     
     try     
     {       
       // Decode the password in Base64       
       byte[] data = Convert.FromBase64String(target); 
       //Get advantage of the DecryptPassword method 
       byte[] decryptedPassword = _instance.DecryptPassword(data); 
       string encodedPassword = Encoding.Unicode.GetString(decryptedPassword); 
       // Remove the salt value prepended to the value 
       // Salt value doesn''t do anything more than being appended to thte password string, just strip it out 
       return encodedPassword.Substring(8); 
     } 
     catch (ProviderException ex) 
     { 
       throw ex; 
     } 
   } 
   public override string ApplicationName 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
     set 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool ChangePassword(string username, string oldPassword, string newPassword) { 
     throw new NotImplementedException(); 
   } 
   public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string 
 newPasswordAnswer) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, 
 bool isApproved, object providerUserKey, out MembershipCreateStatus status) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool DeleteUser(string username, bool deleteAllRelatedData) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool EnablePasswordReset 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool EnablePasswordRetrieval 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) 
   { 
     throw new NotImplementedException(); 
   } 
   public override int GetNumberOfUsersOnline() 
   { 
     throw new NotImplementedException(); 
   } 
   public override string GetPassword(string username, string answer) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUser GetUser(string username, bool userIsOnline) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) 
   { 
     throw new NotImplementedException(); 
   } 
   public override string GetUserNameByEmail(string email) 
   { 
     throw new NotImplementedException(); 
   } 
   public override int MaxInvalidPasswordAttempts 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override int MinRequiredNonAlphanumericCharacters 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override int MinRequiredPasswordLength 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override int PasswordAttemptWindow 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override string PasswordStrengthRegularExpression 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool RequiresQuestionAndAnswer 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool RequiresUniqueEmail 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override string ResetPassword(string username, string answer) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool UnlockUser(string userName) 
   { 
     throw new NotImplementedException(); 
   } 
   public override void UpdateUser(MembershipUser user) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool ValidateUser(string username, string password) 
   { 
     throw new NotImplementedException(); 
   } 
 }

4. Copy paste the following code inside the above created class. This way we inherit our class from aspnet membership provider pattern class and thus will use its decryption procedure to decrypt the passwords. If you want to do that manually, do remember that Ctrl+K+M is a nice shortcut to implement base class methods which saves quite an effort from your end.

 using System; 
 using System.Configuration.Provider; 
 using System.Text; 
 using System.Web.Security; 
 public class RecoverPassword : MembershipProvider { 
   //Create a static instance of this class as a singelton  
   private static readonly RecoverPassword _instance = new RecoverPassword(); 
   public override MembershipPasswordFormat PasswordFormat { 
     get { 
       return MembershipPasswordFormat.Encrypted; 
     }   
   }  
   public static string RecoverEncryptedString(string target)   
   {     
     try     
     {       
       // Decode the password in Base64       
       byte[] data = Convert.FromBase64String(target); 
       //Get advantage of the DecryptPassword method 
       byte[] decryptedPassword = _instance.DecryptPassword(data); 
       string encodedPassword = Encoding.Unicode.GetString(decryptedPassword); 
       // Remove the salt value prepended to the value 
       // Salt value doesn''t do anything more than being appended to thte password string, just strip it out 
       return encodedPassword.Substring(8); 
     } 
     catch (ProviderException ex) 
     { 
       throw ex; 
     } 
   } 
   public override string ApplicationName 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
     set 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool ChangePassword(string username, string oldPassword, string newPassword) { 
     throw new NotImplementedException(); 
   } 
   public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string 
 newPasswordAnswer) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, 
 bool isApproved, object providerUserKey, out MembershipCreateStatus status) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool DeleteUser(string username, bool deleteAllRelatedData) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool EnablePasswordReset 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool EnablePasswordRetrieval 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) 
   { 
     throw new NotImplementedException(); 
   } 
   public override int GetNumberOfUsersOnline() 
   { 
     throw new NotImplementedException(); 
   } 
   public override string GetPassword(string username, string answer) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUser GetUser(string username, bool userIsOnline) 
   { 
     throw new NotImplementedException(); 
   } 
   public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) 
   { 
     throw new NotImplementedException(); 
   } 
   public override string GetUserNameByEmail(string email) 
   { 
     throw new NotImplementedException(); 
   } 
   public override int MaxInvalidPasswordAttempts 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override int MinRequiredNonAlphanumericCharacters 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override int MinRequiredPasswordLength 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override int PasswordAttemptWindow 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override string PasswordStrengthRegularExpression 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool RequiresQuestionAndAnswer 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override bool RequiresUniqueEmail 
   { 
     get 
     { 
       throw new NotImplementedException(); 
     } 
   } 
   public override string ResetPassword(string username, string answer) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool UnlockUser(string userName) 
   { 
     throw new NotImplementedException(); 
   } 
   public override void UpdateUser(MembershipUser user) 
   { 
     throw new NotImplementedException(); 
   } 
   public override bool ValidateUser(string username, string password) 
   { 
     throw new NotImplementedException(); 
   } 
 } 

5. Your default.ascx.cs file must be like this (Change the password in Page_Load with the password you want to decipher):

 using System; 
 public partial class _Default : System.Web.UI.Page { 
   protected void Page_Load(object sender, EventArgs e)     
   { 
      //This password can be obtained from the DNN''s table aspnet_Membership column "Password"    
      //Or you can query ther datbase row and call decryption method for each user    
      string password = "vhicPWw3Eo/+z+mrKM5ZQCIcURj1O5Cq9Epw942lfpmsDPagupzLGw=="; 
     //Call our inherited class to get Decrypted Password    
     string recoveredPassword = RecoverPassword.RecoverEncryptedString(password); 
     //Write down the decrypted password       
    Response.Write(recoveredPassword);  
   } 
 } 

6. Right click > View in Browser and the password is decrypted on a fly.



European Visual Studio 2017 Hosting - HostForLIFE.eu :: Drawing rubber-band lines and shapes in VB.NET

clock November 13, 2019 08:29 by author Peter

The lack of XOR Drawing feature in GDI+ was not certainly welcome in the programmer's community.

 

I guess it will be hard to survive with this handicap. In spite of this, I would like to show how we can draw rubber-band lines and shapes in GDI+ with just a few lines of code.

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
    Dim size As Size = SystemInformation.PrimaryMonitorMaximizedWindowSize 
    bitmap = New Bitmap(size.Width, size.Height) 
    gB = Graphics.FromImage(bitmap) 
    Dim bckColor As Color = Me.BackColor 
    gB.Clear(bckColor) 
    End Sub 
    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) 
    Dim p As Point = New Point(e.X, e.Y) 
    x0 = p.X 
    y0 = p.Y 
    drag = True 
    End Sub 
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) 
    Dim p As Point = New Point(e.X, e.Y) 
    x= p.X 
    y = p.Y 
    Dim cx As Integer = x - x0 
    Dim cy As Integer = y - y0 
    If drag Then 
    Dim gx As Graphics = CreateGraphics() 
    gx.DrawImage(bitmap, 0, 0) 
    gx.Dispose() 
    Dim g As Graphics = CreateGraphics() 
    Dim pen As Pen = New Pen(Color.Blue) 
    Select Case DrawMode 
    Case 1 
    g.DrawLine(pen, x0, y0, x, y) 
    Exit Select 
    Case 2 
    g.DrawEllipse(pen, x0, y0, cx, cy) 
    Exit Select 
    Case 3 
    g.DrawRectangle(pen, x0, y0, cx, cy) 
    Exit Select 
    End Select 
    g.Dispose() 
    pen.Dispose() 
    End If 
    End Sub 
    Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) 
    Dim cx As Integer = x - x0 
    Dim cy As Integer = y - y0 
    Dim pen As Pen = New Pen(Color.Blue) 
    Select Case DrawMode 
    Case 1 
    gB.DrawLine(pen, x0, y0, x, y) 
    Exit Select 
    Case 2 
    gB.DrawEllipse(pen, x0, y0, cx, cy) 
    Exit Select 
    Case 3 
    gB.DrawRectangle(pen, x0, y0, cx, cy) 
    Exit Select 
    End Select 
    drag = False 
    pen.Dispose() 
    End Sub 
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.PaintEventArgs) 
    Dim gx As Graphics = CreateGraphics() 
    gx.DrawImage(bitmap, 0, 0) 
    gx.Dispose() 
    End Sub 
    Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)button1.ForeColor = Color.Red 
    button2.ForeColor = Color.Black 
    button3.ForeColor = Color.Black 
    DrawMode = 1 
    End Sub 
    Private Sub button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    button2.ForeColor = Color.Red 
    button1.ForeColor = Color.Black 
    button3.ForeColor = Color.Black 
    DrawMode = 2 
    End Sub 
    Private Sub button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    button3.ForeColor = Color.Red 
    button1.ForeColor = Color.Black 
    button2.ForeColor = Color.Black 
    DrawMode = 3 
    End Sub 
    Private Sub panel1_Paint(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.PaintEventArgs) 
    button1.ForeColor = Color.Red 
    button1.Focus() 
    End Sub

 



Crystal Report Hosting - HostForLIFE.eu :: BackgroundWorker and Crystal Reports

clock September 12, 2019 12:22 by author Peter

I have a DBClass that is responsible for executing database queries and SPs.


Here is the code snippet that shows how to use a background thread to get data and generate reports. This is useful when the main thread of your applications is doing something else, data entry and you want reports to be generated in the background.
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Threading; 
namespace myCryst 

    public partial class Form1 : Form 
    { 
        DataSet ds; 
        frmCryst f = new frmCryst(); 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        private void bgWorker_DoWork(object sender, DoWorkEventArgs e) 
        { 
            bgWorker.ReportProgress(10); 
            Thread.Sleep(164); 
            bgWorker.ReportProgress(20); 
            Thread.Sleep(164); 
            bgWorker.ReportProgress(30); 
            Thread.Sleep(164); 
            ds = DBClass.ExecQuery("select * from students"); 
            bgWorker.ReportProgress(40); 
            Thread.Sleep(164); 
            bgWorker.ReportProgress(50); 
            Thread.Sleep(164); 
            bgWorker.ReportProgress(70); 
            Thread.Sleep(164); 
            bgWorker.ReportProgress(95); 
            Thread.Sleep(164); 
            bgWorker.ReportProgress(100); 
        } 
        private void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) 
        { 
            this.progressBar1.Value = e.ProgressPercentage; 
        } 
        private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
        { 
            showCrystalReport(); 
        } 
        private void button1_Click(object sender, EventArgs e) 
        { 
            bgWorker.ProgressChanged += new ProgressChangedEventHandler(bgWorker_ProgressChanged); 
            bgWorker.WorkerReportsProgress = true; 
            bgWorker.RunWorkerAsync(); 
        } 
        private void showCrystalReport() 
        { 
            CrystalReport1 c = new CrystalReport1(); 
            Reportds d = new Reportds(); 
            d.Tables[0].Merge(ds.Tables["tab"]); 
            frmCryst f = new frmCryst(); 
            c.SetDataSource(d); 
            f.crystRep.ReportSource = c; 
            f.Show(); 
        } 
        private void button2_Click(object sender, EventArgs e) 
        { 
            Application.Exit(); 
        } 
    } 
}



AngularJS with Free ASP.NET Hosting - HostForLIFE.eu :: AngularJS: $http

clock August 21, 2019 12:35 by author Peter

In this tutorial, I will tell you about $http in AngularJS. I am gonna show you AngularJS Basic Filters. $http is a service for reading data from web services. It will use get (service URL) method for the process. Now, write the following code:

<div ng-app="httpApp" ng-controller="httpController"> 
     <ul> 
        <li ng-repeat="det in details">{{ det.name + ', ' + det.countrycode }} 
</li> 
    </ul> 
</div>

In the below code, we've an Angular app httpApp and a controller httpController. currently we want to make our controller part, right?
    < script > 
    var app = angular.module('httpApp', []); 
    app.controller('httpController', function($scope, $http) {          $http.get("http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=- 22.4&west=55.2&lang=de&username=demo") 
            .success(function(response) { 
            $scope.details = response.geonames; 
        }); 
    }); < /script> 


In the preceding code we are using the $http.get() technique of Angular. within the url part we've got given a sample web service url of geo data. you'll get these free net services here. So within the success part we tend to are returning the response of the web service. Now if you write the response.geonames within the success in the browser console as follows, you'll get the array as shown on the following code:

console.log(response.geonames); 

Once it is returned we are showing the response data to the UI using the repeat directive.
And here is the complete HTML
    <!DOCTYPE html> 
    <html 
        xmlns="http://www.w3.org/1999/xhtml"> 
        <head> 
            <title>Angular $http</title> 
            <style> 
             li { 
                border: 1px solid #ccc; 
                border-right: none; 
                border-left: none; 
                padding: 2px; 
                text-align: center; 
                list-style:none; 
              }  
             </style> 
            <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
       </head> 
        <body> 
            <div ng-app="httpApp" ng-controller="httpController"> 
                <ul> 
                    <li ng-repeat="det in details">{{ det.name + ', ' + det.countrycode }} </li> 
                </ul> 
            </div> 
           <script>  
                var app = angular.module('httpApp', []); 
                app.controller('httpController', function ($scope, $http) { 
                $http.get("http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=peter") 
                .success(function (response) {  
                   $scope.details = response.geonames;  
                   console.log(response.geonames); 
                   }); 
             }); 
             </script> 
        </body> 
    </html> 


You can add the following CSS to your page.
    < style > li { 
        border: 1px solid#ccc; 
        border - right: none; 
        border - left: none; 
        padding: 2px; 
        text - align: center; 
        list - style: none; 
    } < /style>

AngularJS with Free ASP.NET Hosting

Try our AngularJS with Free ASP.NET Hosting today and your account will be setup soon! You can also take advantage of our Windows & ASP.NET Hosting support with Unlimited Domain, Unlimited Bandwidth, Unlimited Disk Space, etc. You will not be charged a cent for trying our service for the next 3 days. Once your trial period is complete, you decide whether you'd like to continue.



SQL Server 2019 Hosting Europe - HostForLIFE.eu :: Create and Schedule a Job in SQL Server

clock August 16, 2019 09:27 by author Peter

In this article, you will learn how to create a new job and schedule that job for execution in SQL Server. What is a SQL Job? A job is a specified series of actions that SQL Server Agent performs. Use jobs to define an administrative task that can be run one or more times and monitored for success or failure. A job can run on one local server or on multiple remote servers. Some examples of SQL Jobs are automatic weekly backup, sending auto emails, newsletters, writing log files, and audit logs.


First of all, start SQL Server 2008 Management Studio. Expand Databases node and select a database you want to use to create and schedule a job from.

Image 1.
For this database I am going to create a job and schedule that job.

Now click on SQL Server agent and select "Jobs" and right-click and click on "New Job".

Image 2.

As you can see there are many steps, so let's go one by one. First provide a job name and description and click "OK".
General Tab


Image 3.

Now click on "Next". The step name is Steps and provides a name, type and select database and write a command to save in a location and click "OK".
Steps Tab

Image 4.

Now click on the "Schedules" tab and provide name, type, frequency and click "OK".
Schedules Tab

Image 5.

Now click on the alerts tab and click on the "Add" button and provide alert name, type, database name and click "Ok".
Alerts Tab

Image 6.

Now click on the notifications tab and select how you want notifications.
Notifications Tab

Image 7.

The final tab is the "Targets" tab that shows you the options of the target server, you can also select multiple target servers.
Targets Tab

Image 8.
Summary
In this article, we learned how to setup and schedule a job in SQL Server.

HostForLIFE.eu SQL Server 2019 Hosting
HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes. We have customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.

 



SQL Server 2019 Hosting Europe - HostForLIFE.eu :: Introduction To SQL And SQL Commands

clock July 31, 2019 12:27 by author Peter

SQL

SQL stands for Structured Query Language. SQL is used to create, remove, alter the database and database objects in a database management system and to store, retrieve, update the data in a database. SQL is a standard language for creating, accessing, manipulating database management system. SQL works for all modern relational database management systems, like SQL Server, Oracle, MySQL, etc.

Different types of SQL commands
SQL commands can be categorized into five categories based on their functionality.

DDL
DDL stands for data definition language. DDL commands are used for creating and altering the database and database object in the relational database management system, like CREATE DATABASE, CREATE TABLE, ALTER TABLE, etc. The most used DDL commands are CREATE, DROP, ALTER, and TRUNCATE.
    CREATE
    CREATE command is used to create a database and database object like a table, index, view, trigger, stored procedure, etc.

    Syntax
    CREATE TABLE Employee (Id INT, Name VARHCAR (50), Address VARCHAR (100));

    ALTER
    ALTER command is used to restructure the database object and the settings in the database.

    Syntax
    ALTER TABLE Employee ADD Salary INT;

    TRUNCATE
    TRUNCATE command is used to remove all the data from the table. TRUNCATE command empties a table.

    Syntax
    TRUNCATE TABLE Employee;

    DROP
    DROP command is used to remove the database and database object.

    Syntax
    DROP TABLE Employee;

DML
DML stands for data manipulation language. DML commands are used for manipulating data in a relational database management system. DML commands are used for adding, removing, updating data in the database system, like INSERT INTO TableName, DELETE FROM TableName, UPDATE tableName set data, etc. The most used DML commands are INSERT INTO, DELETE FROM, UPDATE.
    INSERT INTO
    INSERT INTO command is used to add data in the database table.

    Syntax
    INSERT INTO Employee (Id, Name, Address, Salary) VALUES (1, ‘Arvind Singh’, ‘Pune’, 1000);

    UPDATE
    UPDATE command is used to update data in the database table. A condition can be added using the WHERE clause to update a specific row.

    Syntax
    UPDATE Employee SET Address = ‘Pune India’, Salary = 100 WHERE Id =1;

    DELETE
    DELETE command is used to remove data from the database table. A condition can be added using the WHERE clause to remove a specific row which meets the condition.

    Syntax
    DELETE FROM Employee WHERE Id =1;

DQL
DQL stands for data query language. DQL command is used for fetching the data. DQL command is used for selecting data from the table, view, temp table, table variable etc. There is only one command under DQL which is the SELECT command.

Syntax
SELECT * FROM Employee;

DCL
DCL stands for data control language. DCL commands are used for providing and taking back the access rights on the database and database objects. DCL command used for controlling user’s access on the data. Most used DCL commands are GRANT and REVOKE.

GRANT
GRANT is used to provide access right to user.

Syntax
GRANT INSERT, DELETE ON Employee TO user;

REVOKE
REVOKE command is used to take back access right from the user, it cancels access right of the user from the database object.

Syntax
REVOKE ALL ON Employee FROM user;

TCL
TCL stands for transaction control language. TCL commands are used for handling transactions in the database. Transactions insure data integrity in the multi user environment. TCL commands can rollback and commit data modification in the database. The most used TCL commands are COMMIT, ROLLBACK, SAVEPOINT, and SET TRANSACTION.

COMMIT
COMMIT command is used to save or apply the modification in the database.

ROLLBACK
ROLLBACK command is used to undo the modification.

SAVEPOINT

SAVEPOINT command is used to temporarily save a transaction, the transaction can roll back to this point when it's needed.

Syntax
Just write COMMIT or ROLLBACK or SAVEPOINT;

HostForLIFE.eu SQL Server 2019 Hosting
HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes. We have customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



SQL Server 2019 Hosting Europe - HostForLIFE.eu :: Triggers In SQL Server

clock July 19, 2019 09:07 by author Peter

A SQL trigger is a database object just like a stored procedure or we can say it is a special kind of Stored Procedure that automatically fires when an event occurs in a database. Learn what is a trigger in SQL Server and how to create triggers on a database table. A SQL trigger is a database object just like a stored procedure, or we can say it is a special kind of stored procedure which fires when an event occurs in a database. We can execute a SQL query that will "do something" in a database when an event is fired.

For example, a trigger can be set on a record insert in a database table. For example, if you want to increase the number of count of blogs in the Reports table when a new record is inserted in the Blogs table, we can create a trigger on the Blogs's table on INSERT and update the Reports table by increaing blog count to 1.

Difference Between a Stored Procedure and a Trigger
Triggers are fired implicitly while stored procedures are fired explicitly.

Types of Triggers
There are two types of triggers:

  • DDL Trigger
  • DML Trigger

DDL Triggers
The DDL triggers are fired in response to DDL (Data Definition Language) command events that start with Create, Alter and Drop, such as Create_table, Create_view, drop_table, Drop_view and Alter_table.

Code of a DDL Trigger
create trigger saftey 
on database 
for 
create_table,alter_table,drop_table 
as 
print'you can not create ,drop and alter table in this database' 
rollback;


When we create, alter or drop any table in a database then the following message appears:

DML Triggers
The DML triggeres are fired in response to DML (Data Manipulation Language) command events that start with with Insert, Update and Delete. Like insert_table, Update_view and Delete_table.
    create trigger deep 
    on emp 
    for 
    insert,update,delete 
    as 
    print'you can not insert,update and delete this table i' 
    rollback;


When we insert, update or delete in a table in a database then the following message appears,
dml-triggers-in-sql.jpg
There are two types of DML triggers

AFTER Triggers
AFTER triggers are executed after the action of an INSERT, UPDATE, or DELETE statement.
    create trigger insertt 
    on emp 
    after insert 
    as 
    begin 
    insert into empstatus values('active') 
    end  


INSTEAD Of Triggers
It will tell the database engine to execute the trigger instead of executing the statement. For example an insert trigger executes when an event occurs instead of the statement that would insert the values in the table .

    CREATE TRIGGER instoftr 
    ON v11 
    INSTEAD OF INSERT 
    AS 
    BEGIN 
    INSERT INTO emp 
    SELECT I.id, I.names 
    FROM INSERTED I 
      
    INSERT INTO emp1values 
    SELECT I.id1, I.name1 
    FROM INSERTED I 
    END  

When we insert data into a view by the following query then it inserts values in both tables :
    insert into v11 values(1,'d','dd') 

You can see both tables by the folowing query:
    select * from emp 
    select * from emp1values 

HostForLIFE.eu SQL Server 2019 Hosting
HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes. We have customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.

 



Angular.js Hosting UK - HostForLIFE.eu :: Two Way Data Binding In Angular

clock July 4, 2019 11:52 by author Peter

This article will explain the two-way data binding in Angular. I would recommend you read the below articles before starting with this one.

  • Interpolation data binding in angular
  • Property Data binding in angular
  • Class data binding in angular
  • Style data Binding in angular
  • Attribute data Binding in angular
  • Event data binding in angular

What is two-way data binding Angular?
Using two-way binding, we can display a data property as well as update that property when the user makes changes. We can achieve it in the component element and HTML element, both. Two-way data binding uses the syntaxes of property binding and event binding together. Property binding uses the syntax as bracket [] or bind and event binding uses the syntax as parenthesis () or on and these bindings are considered as one-way bindings. Two-way binding works in both directions setting the value and fetching the value. Two-way binding uses the syntax as [()] or the bindon keyword. It also called the "banana in the box" symbol. It looks like a banana in a box.

Let us see two-way data binding with an example.

Step 1
Open the command prompt from Windows search.

Step 2
Create a new project in Angular.
ng new AngularDemo

Step 3
Open the project in Visual Studio Code. Type the following command to open it.
Code .

Step 4
Open terminal in Visual Studio Code and create a component, "employee".
ng g c example

Step 5
Open the example component in your application and change the code with the following one.
import { Component, OnInit } from '@angular/core'; 

@Component({ 
selector: 'app-example', 
templateUrl: './example.component.html', 
styleUrls: ['./example.component.css'] 
}) 
export class ExampleComponent { 
firstName: string = ""; 
lastName: string = ""; 

fullname() { 
return this.firstName + " " + this.lastName; 



Step 6
Open example.component.html in your application and change the code with the following one.
<div class="container"> 
<h3 class="text-uppercase text-center">Two Way data binding in angular</h3> 
<div class="row"> 
    <div class="col-md-4"> 
        <div class="form-group"> 
            <label>First Name:</label> 
            <input [value]="firstName" class="form-control" (input)='firstName= $event.target.value'> 
        </div> 
    </div> 
    <div class="col-md-4"> 
        <div class="form-group"> 
            <label>Last Name:</label> 
            <input [value]="lastName" class="form-control" (input)='lastName= $event.target.value'> 
        </div> 
    </div> 
</div> 
<h4 class="text-uppercase ">{{fullname()}}</h4> 
</div> 


Step 7
Open app.component.html in your application to take the selector name from employee.component.ts.
< <app-example></app-example> 

Step 8
Run the application by typing the following command.
ng serve –open

Another example of two-way data binding using FormsModule
Step-1 Open app.module.ts and import FormsModule as shown in the image. Change the code with the following one.

Step-2 Open example.component.ts write below code
import { Component, OnInit } from '@angular/core'; 
@Component({ 
selector: 'app-example', 
templateUrl: './example.component.html', 
styleUrls: ['./example.component.css'] 
}) 
export class ExampleComponent { 
public firstName:string=''; 
public lastName:string=''; 
public position:string=''; 
public salary:number; 


Step-3 Now open example.component.html and write below code

<div class="container"> 
<h3 class="text-uppercase text-center">Two Way data binding in angular</h3> 
<div class="row"> 
    <div class="col-md-4"> 
        <div class="form-group"> 
            <label>First Name:</label> 
            <input type="text" class="form-control" [(ngModel)]="firstName">                
        </div> 
    </div> 
    <div class="col-md-4"> 
        <div class="form-group"> 
            <label>Last Name:</label> 
           <input type="text" class="form-control" [(ngModel)]="lastName"> 
        </div> 
    </div> 
</div> 
<div class="row"> 
    <div class="col-md-4"> 
        <div class="form-group"> 
            <label>Position:</label> 
            <input type="text" class="form-control" [(ngModel)]="position">         
        </div> 
    </div> 
    <div class="col-md-4"> 
        <div class="form-group"> 
            <label>Salary:</label> 
           <input type="number" class="form-control" [(ngModel)]="salary"> 
        </div> 
    </div> 
</div> 
<p> 
First Name:<strong class="text-uppercase">{{firstName}}</strong> 
</p> 
<p> 
Last Name:<strong class="text-uppercase">{{lastName}}</strong> 
</p> 
<p> 
Position:<strong class="text-uppercase">{{position}}</strong> 
</p> 
<p> 
Salary:<strong class="text-uppercase">{{salary}}</strong> 
</p> 
</div> 



WCF Hosting UK - HostForLIFE.eu :: Binding and Behavior in WCF

clock June 28, 2019 11:26 by author Peter

In this article I will clarify about the Binding and Behavior of WCF. It is one of the principal of WCF. Binding represents how the client can communicate with the service.

Assume we need to make the service for two clients , first client will access SOAP using HTTP and second client access Binary using TCP. Utilizing webservice it is impossible yet utilizing WCF we can do by including additional endpoint in the configuration file. Example: in web.config.
<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" strict="false" explicit="true"targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <services>
      <service name="MathService"
        behaviorConfiguration="MathServiceBehavior">
        <endpoint
          address="http://localhost:9080/Service1.svc"contract="IMathService"
           binding="wsHttpBinding"/>
<endpoint address="net.tcp://localhost:8080/MyService/MathService.svc"
       contract="IMathService"
                  binding="netTcpBinding"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
     </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

And now, I’ll tell you about the Behaviour at the service level. In the service behavior, I have mention the servieMetadata node with attribute httGetEnabled='true'. This attribute will specifies the publication of the service metadata. Similarly we can add more behavior to the service. <system.serviceModel>
  <services>
    <service name="MathService"
      behaviorConfiguration="MathServiceBehavior">
      <endpoint address="" contract="IMathService"
        binding="wsHttpBinding"/>
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="MathServiceBehavior">
        <serviceMetadata httpGetEnabled="True"/>
        <serviceDebug includeExceptionDetailInFaults="true" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

HostForLIFE.eu European WCF Hosting

HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes. We have customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



European VB.NET Hosting - HostForLIFE.eu :: Drawing rubber-band lines and shapes in VB.NET

clock June 21, 2019 11:13 by author Peter

The lack of XOR Drawing feature in GDI+ was not certainly welcome in the programmer's community. I guess it will be hard to survive with this handicap.

In spite of this, I would like to show how we can draw rubber-band lines and shapes in GDI+ with just a few lines of code.

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
Dim size As Size = SystemInformation.PrimaryMonitorMaximizedWindowSize 
bitmap = New Bitmap(size.Width, size.Height) 
gB = Graphics.FromImage(bitmap) 
Dim bckColor As Color = Me.BackColor 
gB.Clear(bckColor) 
End Sub 
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) 
Dim p As Point = New Point(e.X, e.Y) 
x0 = p.X 
y0 = p.Y 
drag = True 
End Sub 
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) 
Dim p As Point = New Point(e.X, e.Y) 
x= p.X 
y = p.Y 
Dim cx As Integer = x - x0 
Dim cy As Integer = y - y0 
If drag Then 
Dim gx As Graphics = CreateGraphics() 
gx.DrawImage(bitmap, 0, 0) 
gx.Dispose() 
Dim g As Graphics = CreateGraphics() 
Dim pen As Pen = New Pen(Color.Blue) 
Select Case DrawMode
Case 1 
g.DrawLine(pen, x0, y0, x, y) 
Exit Select 
Case 2 
g.DrawEllipse(pen, x0, y0, cx, cy) 
Exit Select 
Case 3 
g.DrawRectangle(pen, x0, y0, cx, cy) 
Exit Select 
End Select 
g.Dispose() 
pen.Dispose() 
End If 
End Sub 
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) 
Dim cx As Integer = x - x0 
Dim cy As Integer = y - y0 
Dim pen As Pen = New Pen(Color.Blue) 
Select Case DrawMode 
Case 1 
gB.DrawLine(pen, x0, y0, x, y) 
Exit Select 
Case 2 
gB.DrawEllipse(pen, x0, y0, cx, cy) 
Exit Select 
Case 3 
gB.DrawRectangle(pen, x0, y0, cx, cy) 
Exit Select 
End Select 
drag = False 
pen.Dispose() 
End Sub 
Private Sub Form1_Paint(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.PaintEventArgs) 
Dim gx As Graphics = CreateGraphics() 
gx.DrawImage(bitmap, 0, 0) 
gx.Dispose() 
End Sub 
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)button1.ForeColor = Color.Red 
button2.ForeColor = Color.Black 
button3.ForeColor = Color.Black 
DrawMode = 1 
End Sub 
Private Sub button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
button2.ForeColor = Color.Red 
button1.ForeColor = Color.Black 
button3.ForeColor = Color.Black 
DrawMode = 2 
End Sub 
Private Sub button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
button3.ForeColor = Color.Red 
button1.ForeColor = Color.Black 
button2.ForeColor = Color.Black 
DrawMode = 3 
End Sub 
Private Sub panel1_Paint(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.PaintEventArgs) 
button1.ForeColor = Color.Red 
button1.Focus() 
End Sub



About HostForLIFE

HostForLIFE is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes.

We have offered the latest Windows 2019 Hosting, ASP.NET 5 Hosting, ASP.NET MVC 6 Hosting and SQL 2019 Hosting.


Tag cloud

Sign in