Search This Blog

Tuesday, March 26, 2013

Get all children of a parent SQL Server

SQL Server > With > Scripts

Get all children of a parent SQL Server

In a hierarchical structure of tables is necessary to traverse the entire structure to find all the children of a parent.


Example:

create table #user(id int, superiorid int)

insert into #user(id, superiorid) values  (1,null), (2,1) , (3,1)

declare @id int
select @id = 1;

with Parent (superiorid,id)
             as
             (
                    select u.superiorid, u.id
                    from #user u
                    where u.ID = @id
                    union all
                    select u.superiorid ,u.ID
                    from #user u
                    inner join Parent p on p.id = u.superiorid
             )     

Select #user.id, #user.superiorid
from #user
inner join Parent p on p.id = #user.id

drop table #user

Result:

id superiorid
1 NULL
2 1
3 1





Object JavaScript

In JavaScript you can define and create your own objects.





<!DOCTYPE html>
<html>
<body>

<script>
    var car = new Object();
    car.type = "Audi";
    car.speed = "300";
    document.write(car.type + " speed is " + car.speed + " KM/Hour.");
</script>

</body>
</html>




Display date Java Script

Java Script > Date

<!DOCTYPE html>
<html>
<head>
<script>
    function displayDate() {
        document.getElementById("date").innerHTML = Date();
    }
</script>
</head>
<body>
    <h1>Display date JavaScript</h1>
<p id="date">Click button to display date</p>
<button type="button" onclick="displayDate()">Display Date</button>
</body>
</html>  




XML query() Method SQL Server

Specifies an XQuery against an instance of the xml data type.

Example:


declare @Doc xml
set @Doc = '<Root>
<Order OrderID="1" CustomerName="John">
       <Items>
             <Item>Item 1</Item>
             <Item>Item 2</Item>
       </Items>
</Order>
</Root>'


SELECT @Doc.query('/Root/Order/Items')

Reult:

<Items>
  <Item>Item 1</Item>
  <Item>Item 2</Item>
</Items>






Cleans all pages in all files of the SQL Server database

SQL Server > System Stored Procedures > sp_clean_db_free_space

Cleans all pages in all files of the database.


Under some circumstances, the deleted rows can physically remain on the data page as a ghost records.
You can use sp_clean_db_free_space to clean these ghost records.
Before you run sp_clean_db_free_space,  it is recommend to create a full database backup.

Example


USE Master


GO


EXEC sp_clean_db_free_space  @dbname = N'YourDBName';








Monday, March 25, 2013

Handle NetworkAvailabilityChanged event in C# Windows Forms

C# > System.Net > NetworkInformation > NetworkChange > NetworkAvailabilityChanged

NetworkAvailabilityChanged occurs when the availability of the network changes.

Example

Check network available.

Edit Program.cs: Add event to check network is available






using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    static class Program
    {
        ///
        /// The main entry point for the application.
        ///

        private static void NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
        {
            if (e.IsAvailable)
            {
                MessageBox.Show ("Network Available");
            }
            else
            {
                MessageBox.Show("Network Unavailable");
            }
        }

        [STAThread]
        static void Main()
        {
            NetworkChange.NetworkAvailabilityChanged += NetworkAvailabilityChanged;

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

Check network availability c#

C# >System.Net > NetworkInformation > NetworkInterface > GetIsNetworkAvailable


GetIsNetworkAvailable indicates whether any network connection is available.

Example
System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();