Joseph Michael Pesch
VP Programming

Asp.Net GetCurrentPageName

by 10. November 2010 18:32

static public string GetCurrentPageName()
{
  System.IO.FileInfo fi = 

    new System.IO.FileInfo(HttpContext.Current.Request.Url.AbsolutePath);
  return fi.Name;
}

 

Tags:

[None]

Outlook 2007 URL Protocol Registry Entry

by 10. November 2010 14:14

Registering Outlook 2007 to a URL Protocol.zip (126.05 kb)

Contents of a registry edit file for 2007:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\outlook]
"URL Protocol"=""
@="URL:Outlook Folders"
[HKEY_CLASSES_ROOT\outlook\DefaultIcon]
@="\"C:\\Program Files\\Microsoft Office\\Office12\\OUTLOOK.EXE\""
[HKEY_CLASSES_ROOT\outlook\shell]
@="open"
[HKEY_CLASSES_ROOT\outlook\shell\open]
@=""
[HKEY_CLASSES_ROOT\outlook\shell\open\command]
@="\"C:\\Program Files\\Microsoft Office\\Office12\\OUTLOOK.EXE\" /select \"%1\""

Modified for 2010 on 64bit machine running Office on x86:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\outlook]
"URL Protocol"=""
@="URL:Outlook Folders"
[HKEY_CLASSES_ROOT\outlook\DefaultIcon]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\OUTLOOK.EXE\""
[HKEY_CLASSES_ROOT\outlook\shell]
@="open"
[HKEY_CLASSES_ROOT\outlook\shell\open]
@=""
[HKEY_CLASSES_ROOT\outlook\shell\open\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\OUTLOOK.EXE\" /select \"%1\""

Tags:

[None]

Visual Studio 2010 Resources

by 10. November 2010 13:28

The Visual Studio "Productivity Power Tools" are a set of Visual Studio addins that offer enhanced develeper experience in the IDE.  For example, there are features such as the following.  Enhanced tab well, allowing colorization of tabs by file type, alternative tab docking points (i.e. left side vertical tab set, vs. standard top horizontal).  Javascript code auto-collapse regions, similar to the auto-collapse feature on the C#/VB code behind.  Quick find, which allows a more user friendly find/replace, that works similar to a modern web page find (i.e. auto-highliting matches dynamically as you type), along with enhanced regular expression support.  These are just a few examples of some of the great enhanced features provdided in the "Productivity Power Tools". 

To view more details and download the bits, check out this web site: http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef

Tags:

[None] | Visual Studio

Windows Phone 7 Development

by 10. November 2010 13:27

Tags:

[None]

MSI Installation Error: The installer was interrupted before <product> could be installed

by 8. November 2010 21:23

Issue: When you run the msi, you get an error 'The installer was interrupted before <product> could be installed.  You need to restart the installer to try again'. 

Solution:

In order to install a web setup project on Windows Server 2008 and IIS 7, you need to install the IIS 6 Metabase Compatibility role service.

 

To install the IIS 6.0 Management Compatibility Components by using the Windows Server 2008 Server Manager

1.     Click Start, click Administrative Tools and then Server Manager.

2.     In the left navigation pane, expand Roles, and then right-click Web Server (IIS) and select Add Role Services.

3.     On the Select Role Services pane, scroll down to IIS 6 Management Compatibility.

4.     Select the check boxes for IIS 6 Metabase Compatibility and IIS 6 Management Console.

5.     Click Next from the Select Role Services pane, and then click Install at the Confirm Installations Selections pane.

6.     Click Close to leave the Add Role Services wizard.

Tags:

[None]

Sample Code Re-write with Generics

by 8. November 2010 15:18

    public string GetCampaign(string campaigncode)

    {

      System.Diagnostics.Debug.WriteLine("inside GetCampaign");

 

      // NEW

      List<campaign> camp = Crm.GetEntityList<campaign>(Crm.BuildStringQuery(

        EntityName.campaign.ToString(), "codename", ConditionOperator.Equal, campaigncode

        , LogicalOperator.And, new string[] { "campaignid", "codename", "name" }));

      return camp.Count == 1 ? camp[0].campaignid.Value.ToString() : "";

 

      // OLD

      ColumnSet cols = new ColumnSet();

      cols.Attributes = new string[] { "campaignid", "codename", "name" };

 

      ConditionExpression[] condition = new ConditionExpression[1];

      condition[0] = new ConditionExpression();

      condition[0].AttributeName = "codename";

      condition[0].Operator = ConditionOperator.Equal;

      condition[0].Values = new string[] { campaigncode };

 

      FilterExpression filter = new FilterExpression();

      filter.FilterOperator = LogicalOperator.And;

      filter.Conditions = condition; //new ConditionExpression[] {condition};

      QueryExpression query = new QueryExpression();

      query.EntityName = EntityName.campaign.ToString();

      query.ColumnSet = cols;

      query.Criteria = filter;

 

      // Retrieve the ServiceAppointments

      BusinessEntityCollection lines = Crm.GetCrmService().RetrieveMultiple(query);

 

      //retrieve into an object

 

      int NumOfLines = lines.BusinessEntities.Length;

      string campid = "";

      System.Diagnostics.Debug.WriteLine("numoflines = " + NumOfLines);

      campaign[] campretrieved = new campaign[NumOfLines];

 

      if (NumOfLines > 1 || NumOfLines < 1)

      {

        System.Diagnostics.Debug.WriteLine("more than one record matched");

        campid = "";

      }

      else

      {

        System.Diagnostics.Debug.WriteLine("found matching contact record");

        int i = 0;

        campid = "";

 

        while (i < 1)

        {

          campretrieved[i] = (campaign)lines.BusinessEntities[i];

          campid = campretrieved[i].campaignid.Value.ToString();

          i++;

        }

      }

      //System.Diagnostics.Debug.WriteLine("campid = " + campid);

      return campid;

    }

 

Tags:

[None]

MS CRM Lookup Field DataValue Property JavaScript

by 3. November 2010 17:41

var lookupItem = new Array;

 

// This will get the lookup for the attribute primarycontactid on the Account form.

lookupItem = crmForm.all.primarycontactid.DataValue;

 

// If there is data in the field, show it in a series of alerts.

if (lookupItem != null)

{

   // The text value of the lookup.

   alert(lookupItem[0].name);

 

   // The GUID of the lookup.

   alert(lookupItem[0].id);

 

   // The entity type name.

   alert(lookupItem[0].typename);

 

   // The entity type code of the lookup: 1=account, 2= contact.

   // This attribute is deprecated. Use typename instead.

   alert(lookupItem[0].type);

}

 

 

Tags:

[None]

MS CRM GetBusinessEntity JavaScript SOAP Call

by 3. November 2010 17:33

window.IsNull = IsNull;

function IsNull(value) {

  return (typeof value == 'undefined' || value === null);

}

 

window.GetBusinessEntity = GetBusinessEntity;

function GetBusinessEntity(sEntityname, sAttribute, sLookupValue) {

  var xml = "" +

  "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +

  "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +

  " <soap:Body>" +

  " <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\" xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\">" +

  " <q1:EntityName>" + sEntityname + "</q1:EntityName>" +

  " <q1:ColumnSet xsi:type=\"q1:AllColumns\" />" +

  " <q1:Distinct>false</q1:Distinct>";

  if (!IsNull(sAttribute)) {

    xml +=

    " <q1:Criteria>" +

    " <q1:FilterOperator>And</q1:FilterOperator>" +

    " <q1:Conditions>" +

    " <q1:Condition>" +

    " <q1:AttributeName>" + sAttribute + "</q1:AttributeName>" +

    " <q1:Operator>Equal</q1:Operator>" +

    " <q1:Values>" +

    " <q1:Value xsi:type=\"xsd:string\">" + sLookupValue + "</q1:Value>" +

    " </q1:Values>" +

    " </q1:Condition>" +

    " </q1:Conditions>" +

    " </q1:Criteria>";

  }

  xml +=

  " </query>" +

  " </soap:Body>" +

  "</soap:Envelope>" + "";

 

  var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");

  xmlHttpRequest.Open("POST", "/mscrmservices/2006/CrmService.asmx", false);

  xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2006/WebServices/RetrieveMultiple");

  xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");

  xmlHttpRequest.setRequestHeader("Content-Length", xml.length);

  xmlHttpRequest.send(xml);

  return xmlHttpRequest.responseXml;

 

}

 

window.GetBusinessEntitySample = GetBusinessEntitySample;

function GetBusinessEntitySample() {

 

  var xml;

 

  // Get a specific Business Entity by Id

  xml = GetBusinessEntity('new_lkploantransactiondispotype', 'new_lkploantransactiondispotypeid', 'A73110D8-A4E6-DF11-8A19-0050568619C7');

  alert('The name of selected id search is: ' + xml.selectNodes("//BusinessEntity")[0].selectSingleNode("./q1:new_name").text);

 

  // Get a specific Business Entity by Name

  xml = GetBusinessEntity('new_lkploantransactiondispotype', 'new_name', 'Lead');

  alert('There id of the selected name search is: ' + xml.selectNodes("//BusinessEntity")[0].selectSingleNode("./q1:new_lkploantransactiondispotypeid").text);

 

  // Get all active Business Entities

  xml = GetBusinessEntity('new_lkploantransactiondispotype', 'statuscode', '1');

  var nodeList = xml.selectNodes("//BusinessEntity");

  var msg = 'There are : ' + nodeList.length + ' active entities';

  for (i = 0; i < nodeList.length; i++) {

    rsName = nodeList[i].selectSingleNode("./q1:new_name").text;

    rsGuid = nodeList[i].selectSingleNode("./q1:new_lkploantransactiondispotypeid").text;

    msg += '\r\n' + rsGuid + ": " + rsName

  }

  alert(msg);

 

  // Get all Business Entities

  xml = GetBusinessEntity('new_lkploantransactiondispotype');

  var nodeList = xml.selectNodes("//BusinessEntity");

  var msg = 'There are : ' + nodeList.length + ' total entities';

  for (i = 0; i < nodeList.length; i++) {

    rsName = nodeList[i].selectSingleNode("./q1:new_name").text;

    rsGuid = nodeList[i].selectSingleNode("./q1:new_lkploantransactiondispotypeid").text;

    msg += '\r\n' + rsGuid + ": " + rsName

  }

  alert(msg);

 

}

 

 

 

Tags:

[None]

ASP.Net Diagnostics Trace Listners (Text File and Event Log Samples)

by 1. November 2010 15:25

public static class Logging

{

 

  public static void AddTextWriterTraceListener()

  {

    string TempPath = Path.GetTempPath();

    TempPath = ConfigurationManager.AppSettings["LogPath"];

    if (!TempPath.EndsWith("\\")) TempPath += "\\";

    AddTextWriterTraceListener("UNDEFINED", TempPath

      + "Global.Logging.TextWriterTraceListener."

      + DateTime.Now.ToString("yyyyMMdd-hhmm")

      + ".txt");

  }

  public static void AddTextWriterTraceListener(string ApplicationName)

  {

    string TempPath = Path.GetTempPath();

    TempPath = ConfigurationManager.AppSettings["LogPath"];

    if (!TempPath.EndsWith("\\")) TempPath += "\\";

    AddTextWriterTraceListener(ApplicationName, TempPath

      + "Global.Logging.TextWriterTraceListener."

      + ApplicationName + "."

      + DateTime.Now.ToString("yyyyMMdd-hhmm")

      + ".txt");

  }

  public static void AddTextWriterTraceListener(string ApplicationName, string TextLogFilePath)

  {

    TextWriterTraceListener txtlog = new TextWriterTraceListener(TextLogFilePath);

    System.Diagnostics.Debug.Listeners.Add(txtlog);

  }

  public static void AddEventLogTraceListener()

  {

    AddEventLogTraceListener("Global.Logging.EventLogTraceListener.UNDEFINED");

  }

  public static void AddEventLogTraceListener(string ApplicationName)

  {

    EventLogTraceListener applog = new EventLogTraceListener("Application");

    applog.Name = ApplicationName;

    System.Diagnostics.Debug.Listeners.Add(applog);

  }

}

Tags:

[None]

MS CRM Set Lookup Value

by 15. October 2010 17:26

new_contactresearchphone entity = new new_contactresearchphone();

// Set new_clientid (contact reference) lookup to value of empty guid

entity.new_clientid = new Lookup { Value = Guid.Empty

, type = EntityName.contact.ToString() };

Tags:

[None]

Open Excel as .Net DataSet in C#

by 12. October 2010 17:26

This entry shows how to open an Excel file as a standard .Net dataset.  This method uses an OleDb driver provided by Microsoft, it does not require that Excel is loaded on the machine, only the OleDb driver is needed.

 

OleDbConnection con = new OleDbConnection(

  "Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties=Excel 12.0;"

  + "Data Source=" + FilePath);

 

 

Driver Download:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

 

 

static public class ExcelDataSetUtil

  {

 

    static public DataSet GetDataSet(string FilePath, string SheetName, bool HasHeader)

    {

      //OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="

      //                    + FilePath + ";Extended Properties=\"Excel 8.0;"

      //                    + "HDR=" + (HasHeader ? "Yes" : "No") + ";IMEX=1\"");

 

      OleDbConnection con = new OleDbConnection(

        "Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties=Excel 12.0;"

        + "Data Source=" + FilePath);

      con.Open();

      DataSet ExcelDS = new DataSet();

      try

      {

        //Create Dataset and fill with imformation from the Excel Spreadsheet for easier reference

        OleDbDataAdapter cmd = new OleDbDataAdapter(" SELECT * FROM [" + SheetName + "$]", con);

        cmd.Fill(ExcelDS);

        con.Close();

      }

      catch (Exception ex)

      {

        System.Diagnostics.Debug.WriteLine(ex.ToString());

        throw;

      }

      finally

      {

        con.Close();

      }

      return ExcelDS;

    }

 

    static public void GetDataSet_SampleProcessing(string FilePath, string SheetName, bool HasHeader)

    {

      DataSet ExcelDS = GetDataSet(FilePath, SheetName, HasHeader);

 

      try

      {

        //Travers through each row in the dataset

        foreach (DataRow row in ExcelDS.Tables[0].Rows)

        {

          //Stores info in Datarow into an array

          Object[] cells = row.ItemArray;

          //Traverse through each array and put into object cellContent as type Object

          //Using Object as for some reason the Dataset reads some blank value which

          //causes a hissy fit when trying to read. By using object I can convert to

          //String at a later point.

          foreach (object cellContent in cells)

          {

            //Convert object cellContect into String to read whilst replacing Line Breaks with a defined character

            string cellText = cellContent.ToString();

            cellText = cellText.Replace("\n", "|");

            //Read the string and put into Array of characters chars

            System.Diagnostics.Debug.WriteLine(cellText);

          }

        }

      }

      catch (Exception ex)

      {

        System.Diagnostics.Debug.WriteLine(ex.ToString());

        throw;

      }

    }

  }

 

 

Tags:

[None]

Slow SSIS Package

by 11. October 2010 21:22

http://www.sqlmonster.com/Uwe/Forum.aspx/sql-server-dts/8025/SSIS-OleDB-source-as-table-view-Hideously-Slow

The difference between my SSIS package and the Export Wizard's package was
that the wizard chose an "Sql command" Data Access Method (and simply said
SELECT * FROM view)  where I chose the "Table / View" Data Access Method.

The type of Data Access Method selected apparently makes a HUGE difference
in response time.

Tags:

[None]

JavaScript Payment Calculator

by 17. September 2010 18:33

double xpmt = pv * (rate / (1 - Math.Pow(1 + rate, -nper)));

Tags:

[None]

iTextSharp Read Text from PDF

by 15. September 2010 18:14

Tags:

[None]

MS CRM Get Picklist Values from Web Service SDK

by 1. September 2010 21:21

This code will get picklist name/value pairs from MS CRM.  Passing the Entity and Attribute being searched.

public sealed class AuthenticationType

{

    // Fields

    public const int AD = 0;

    public const int Passport = 1;

    public const int Spla = 2;

}

 

public static CrmService GetCrmService()

{

    CrmSdk.CrmAuthenticationToken token = new CrmSdk.CrmAuthenticationToken();

    token.AuthenticationType = AuthenticationType.AD;

    token.OrganizationName = Crm.Organization;

 

    CrmService crmService = new CrmService();

    crmService.Url = "http://CRM:80/MSCRMServices/2007/CrmService.asmx";

    crmService.CrmAuthenticationTokenValue = token;

    crmService.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

 

    return crmService;

}

public static MetadataService GetMetadataService()

{

    CrmMeta.CrmAuthenticationToken token = new CrmMeta.CrmAuthenticationToken();

    token.AuthenticationType = AuthenticationType.AD;

    token.OrganizationName = Crm.Organization;

 

    MetadataService svc = new MetadataService();

    crmService.Url = "http://CRM:80/MSCRMServices/2007/MetadataService.asmx";

    svc.CrmAuthenticationTokenValue = token;

    svc.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

 

    return svc;

}

 

public class PickListOptions

{

    public PickListOptions() { }

    public string ItemLabel { get; set; }

    public string ItemValue { get; set; }

}

static public List<PickListOptions> GetPickList(string EntityName, string AttributeName)

{

    // Sample: EntityName = "new_debttransaction"; AttributeName = "new_stage"

    // Setup the request

    RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest();

    // Entity reference

    attributeRequest.EntityLogicalName = EntityName;

    // Picklist attribute inside of entity

    attributeRequest.LogicalName = AttributeName;

    attributeRequest.RetrieveAsIfPublished = true;

    // Post the request

    RetrieveAttributeResponse response = (RetrieveAttributeResponse)GetMetadataService().Execute(attributeRequest);

    PicklistAttributeMetadata picklist = (PicklistAttributeMetadata)response.AttributeMetadata;

    // Convert the results

    List<PickListOptions> lst = new List<PickListOptions>();

    foreach (Option o in picklist.Options)

    {

    lst.Add(new PickListOptions() { ItemLabel = o.Label.LocLabels[0].Label

           , ItemValue = o.Value.Value.ToString() });

    }

    return lst;

}

 

 Note: You may receive a server error when attempting to run the code if you CRM user account does not have the appropriate security settings shown below.  Click the “Customization” tab, and then set the “Read” permissions on “Entity”, “Attribute” and “Relationship” as shown below:

Tags:

[None]

JavaScript/CSS Collapsable Regions

by 20. August 2010 15:13

VisualStudio 2010 JavaScript Outlining: Visual Studio 2010 editor extension for JavaScript code blocks and custom regions outlining
http://jsoutlining.codeplex.com/

Alternate method is to use Macro Code:

OptionExplicitOn

OptionStrictOn

 

Imports System

Imports EnvDTE

Imports EnvDTE80

Imports EnvDTE90

Imports System.Diagnostics

Imports System.Collections.Generic

 

PublicModule JsModules

 

  Sub OutlineRegions()

 

    Dim selection As EnvDTE.TextSelection = CType(DTE.ActiveDocument.Selection, EnvDTE.TextSelection)

 

    Const REGION_START AsString = "//#region"

    Const REGION_END AsString = "//#endregion"

 

    selection.SelectAll()

    Dim text AsString = selection.Text

    selection.StartOfDocument(True)

 

    Dim startIndex AsInteger

    Dim endIndex AsInteger

    Dim lastIndex AsInteger = 0

    Dim startRegions AsNew Stack(OfInteger)

 

    Do

      startIndex = text.IndexOf(REGION_START, lastIndex)

      endIndex = text.IndexOf(REGION_END, lastIndex)

 

      If startIndex = -1 AndAlso endIndex = -1 Then

        ExitDo

      EndIf

 

      If startIndex <> -1 AndAlso startIndex < endIndex Then

        startRegions.Push(startIndex)

        lastIndex = startIndex + 1

      Else

        ' Outline region ...

        Dim tempStartIndex AsInteger = CInt(startRegions.Pop())

        selection.MoveToLineAndOffset(CalcLineNumber(text, tempStartIndex), CalcLineOffset(text, tempStartIndex))

        selection.MoveToLineAndOffset(CalcLineNumber(text, endIndex) + 1, 1, True)

        selection.OutlineSection()

 

        lastIndex = endIndex + 1

      EndIf

    Loop

 

    selection.StartOfDocument()

  EndSub

 

  PrivateFunction CalcLineNumber(ByVal text AsString, ByVal index AsInteger) AsInteger

    Dim lineNumber AsInteger = 1

    Dim i AsInteger = 0

 

    While i < index

      If text.Chars(i) = vbLf Then

        lineNumber += 1

        i += 1

      EndIf

 

      If text.Chars(i) = vbCr Then

        lineNumber += 1

        i += 1

        If text.Chars(i) = vbLf Then

          i += 1 'Swallow the next vbLf

        EndIf

      EndIf

 

      i += 1

    EndWhile

 

    Return lineNumber

  EndFunction

 

  PrivateFunction CalcLineOffset(ByVal text AsString, ByVal index AsInteger) AsInteger

    Dim offset AsInteger = 1

    Dim i AsInteger = index - 1

 

    'Count backwards from //#region to the previous line counting the white spaces

    Dim whiteSpaces = 1

    While i >= 0

      Dim chr AsChar = text.Chars(i)

      If chr = vbCr Or chr = vbLf Then

        whiteSpaces = offset

        ExitWhile

      EndIf

      i -= 1

      offset += 1

    EndWhile

 

    'Count forwards from //#region to the end of the region line

    i = index

    offset = 0

    Do

      Dim chr AsChar = text.Chars(i)

      If chr = vbCr Or chr = vbLf Then

        Return whiteSpaces + offset

      EndIf

      offset += 1

      i += 1

    Loop

 

    Return whiteSpaces

  EndFunction

 

EndModule

 

 

See this URL for full posting on Macro code: http://stackoverflow.com/questions/1921628/how-to-implement-regions-code-collapse-in-javascript

Tags:

[None]

Web Site Installation Error: "Could not open key software\microsoft\asp.net\4.0.30319.0"

by 17. August 2010 20:22

Attempting to install website with MSI built in Visual Studio 2010 targeted to ASP.Net v 3.5 I received the following error: "Could not open key software\microsoft\asp.net\4.0.30319.0".  This was due to the fact that although I had set the website target framework to 3.5 the setup project had a property setting for ASPNetVersion 4 (see attached screen shot), changed that setting to 2.0... and the error went away.

Tags:

[None]

jQuery

by 14. August 2010 22:02
<scripttype="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>

Tags:

[None]

JavaScript Add Function to Page Dynamically and Determine if Function Exists in Page

by 3. August 2010 23:49

// inject script file into page...

var jQueryScript = document.createElement('script');

jQueryScript.language = 'javascript';

jQueryScript.src = '/ISV/scripts/jquery-1.4.2.min.js';

// setup the event callback...

jQueryScript.onreadystatechange = function () {

  if (event.srcElement.readyState == "complete"

   || event.srcElement.readyState == "loaded")

  // call jQueryReady function only if it is declared in the page...

    if (eval("typeof jQueryReady == 'function'")) { jQueryReady(); }

}

// finally, attach the script file to the page...

document.getElementsByTagName('head')[0].appendChild(jQueryScript);

 

 

Tags:

[None]

SSIS Issue with Importing Excel Files

by 3. August 2010 20:02

Mahesh needs to give me the error...

Tags:

[None]