public dbSignal getSignal(string signalName, string nameSpace )
{
dbSignal signal = null;
if (signalName != null)
{
String sql = "SELECT * FROM signal_master WHERE signal_name = ?";
List<OleDbParameter> dbParams = new List<OleDbParameter>();
dbParams.Add(CreateParameter("@signal_name", signalName));
if (!string.IsNullOrEmpty(nameSpace))
{
sql += " AND xmlns = ? ";
dbParams.Add(CreateParameter("@xmlns", nameSpace));
}
OleDbDataReader reader = ExecuteSqlQuery(sql, dbParams.ToArray());
if (reader != null)
{
if (reader.Read())
{
signal = new dbSignal();
signal.load(reader);
signal.ChildSignals = getChildSignals(signal.signalId);
signal.Attributes = getSignalAttributes(signal.signalId);
if (signal.parentSignalId != null)
signal.ParentSignal = getSignal(signal.parentSignalId);
}
reader.Close();
reader.Dispose();
}
}
return signal;
}