Although it's probably possible to do this, that doesn't make it a good idea. I suspect it's possible to do exactly what you want using reflection:
public static string MyVariable;
...
MyVariable = "Old value";
SetVariableByName("MyVariable", "New value for MyVariable");
Console.WriteLine(MyVariable);
And get
"New value for MyVariable"
printed. (But you'd have to write the method, and it would be complicated)
But it's not nice, slow, and prone to errors.
Instead, consider using a Dictionary:
public static Dictionary<string, object> MySettings = new Dictionary<string, object>();
And use the name and value you retrieve from your DB to set entries in that:
MySettings["MyVariable"] = "New value for MyVariable";
It's a lot easier to understand what is going on, and a lot safer!