meine Sys/Db admin & Developper Notitzen - wer Rechtschreibfehler findet darf sie behalten ... my Sys/Db Admin and developper notes - I don't care about typos
Monday, April 23, 2018
Thursday, April 19, 2018
simple sql server merge for insert or update for single row
merge targetTableName as target
using (values (@Key)) as source (keyname)
on [Key]=source.keyname
when matched then
update set bla=@bla
when not matched then
insert ([key], bla)
values (@key, @bla)
using (values (@Key)) as source (keyname)
on [Key]=source.keyname
when matched then
update set bla=@bla
when not matched then
insert ([key], bla)
values (@key, @bla)
Flags
[Flags]
public enum SettingFlags : long
{
/// <summary>
/// hidden in config tool for normal users
/// </summary>
myflag = 0b1,
AdvancedSetting = 0b10
}
[NotMapped]
public bool AdvancedSetting
{
get => Flags.HasFlag(SettingFlags.AdvancedSetting);
set => Flags=SetFlag(Flags, value, SettingFlags.AdvancedSetting);
}
public static SettingFlags SetFlag(SettingFlags flags, bool value, SettingFlags flag)
{
if (value)
flags |= flag;
else
flags &= flag;
return flags;
}
oldschool:
private bool GetBit(SettingFlags position)
{
var pos = (byte)position;
var mask = (1 << pos);
var bit = Flags & mask;
return 0<bit ;
}
private void SetBit(bool value, SettingFlags position)
{
var pos = (byte) position;
var mask = (1 << pos);
if (value)
Flags |= mask;
else
Flags &= ~mask;
}
Subscribe to:
Posts (Atom)