This script requires version SP8 or above.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Xml;
using ATS.Shared.ADO.NET;
using ATS.EventService.Script.Classes;
public class Script : BaseScript
{
protected override void ExecuteSubscript()
{
// Retrieve unit id from XML
string unitIdText = GetTag("Unit.Id");
// Convert from text to int
int unitId = Convert.ToInt32(unitIdText);
string connectString = ConnectionString; // This is a built-in property that gives the current connection string
try
{
var data = new System.Data.DataTable("UnitInfo");
var dataset = new System.Data.DataSet("BusInfo");
dataset.Tables.Add(data);
using (var sql = new AdoSql(connectString))
{
string cmd = " select rtrim(serial) as Serial, rtrim(identity_1) as Identity1, rtrim(identity_2) as Identity2" +
" from units" +
" where unit_id = ?";
sql.SetCommand(cmd, CommandType.Text);
sql.AddParameter("unit_id", unitId);
sql.Fill(ref data);
string result;
using (StringWriter sw = new StringWriter())
{
dataset.WriteXml(sw);
result = sw.ToString();
}
WriteLine(result);
}
}
catch (Exception ex)
{
WriteLine(ex.Message);
}
}
}
<BusInfo>
<UnitInfo>
<Serial>2HSCBAER72C032547</Serial>
<Identity1>2506</Identity1>
<Identity2>032547</Identity2>
</UnitInfo>
</BusInfo>
Can we improve this topic?