c'est à dire tu ne peux pas récupérer votre valeur. Tu dois connais la relation entre l'object moduleid et desktop module. tu as news est un desktop module. Article est un module dans desktop module news, Category est un module dans DesktopModule News aussi. Pour avoir les valeurs comme tu veux je utilise la fonction:
public Hashtable getSettings(int desktopModuleId)
{
string strSQL = @"SELECT ModuleSettings.SettingName, ModuleSettings.SettingValue
FROM ModuleSettings INNER JOIN
Modules ON ModuleSettings.ModuleID = Modules.ModuleID INNER JOIN
ModuleDefinitions ON Modules.ModuleDefID = ModuleDefinitions.ModuleDefID INNER JOIN
DesktopModules ON ModuleDefinitions.DesktopModuleID = DesktopModules.DesktopModuleID
WHERE DesktopModules.DesktopModuleID = " + desktopModuleId.ToString();
DataTable dt = DataProvider.Select(strSQL);
Hashtable hash = new Hashtable();
for (int i = 0; i < dt.Rows.Count; i++)
{
string name = dt.Rows[i]["SettingName"].ToString();
string val = dt.Rows[i]["SettingValue"].ToString();
hash.Add(name, val);
}
return hash;
}
public string getSettingValue(int desktopModuleId, string key)
{
Hashtable hash = getSettings(desktopModuleId);
if(hash.Contains(key)) return hash[key].ToString();
return "";
}