我当前正在编写一个动态函数,它必须从MySQL数据库中检索一些信息。
现在,这个函数接受两个参数(一个是键,另一个是它的值)。
public Member GetUser(string Key, string Value)
{
using (Storage.Client Client = Environment.Storage.GetClient())
{
Client.SetParameter("key", Key);
Client.SetParameter("value", Value);
DataRow Row = Client.ReadRow("SELECT * FROM members WHERE ?key = ?value LIMIT 1");
return new Member(Row);
}
}
正如您所看到的,我的目的是编写一个函数,让数据库中的用户只提供两个参数(因此,不为表的每一列编写函数)。
这使得每一个都更加动态,更容易。
但是有一个问题:似乎我不能在MySQL查询中使用参数作为字段值,所以"?key"无效。
感谢任何建议,但请不要向我推荐以下内容,因为我不太喜欢它:
DataRow Row = Client.ReadRow("SELECT * FROM members WHERE" + Key + " = ?value LIMIT 1");
谢谢