目前,我正在爲每個mysql查詢創建一個新方法,參數我想要執行。 一個例子:自動奇蹟般地在C#中添加MySQL參數
public DataTable RetreiveAllLinks(int id, int categoryid)
{
const string request =
@"
SELECT *
FROM links
WHERE id=?id,categoryid=?categoryid
ORDER by id DESC
";
using (var query = new MySqlCommand(request))
{
query.Parameters.AddWithValue("?id", id);
query.Parameters.AddWithValue("?categoryid", categoryid);
return _connection.RetreiveData(query);
}
}
這真是讓我心煩,因爲我總是以10-30查詢結束,當兩個查詢可以做到這一點對我來說,檢索非參數查詢的簡單方法,和一個參數的方法。例如
public DataTable NonParameterCommand(string r)
{
var request = r;
using (var query = new MySqlCommand(request))
{
return _connection.RetreiveData(query);
}
}
我想要做的,是一些正則表達式,在那裏我會說,例如,
var pPattern = "^[\\?][\\w]";
然後一個請求和一個列表作爲參數的方法,並且該列表應該與請求參數的順序相同。因此,如果該請求是
`"SELECT * FROM test WHERE id=?id,categoryid=?categoryid"`
那麼我的名單看起來像
var _dictionary = new Dictionary<string, string>();
_dictionary.Add(_parameter, _value);
和我的方法
ParameterCommand(string r, Dictionary dic)
但究竟如何?
+1對於問題和自動使用術語...愛它! – 2011-06-14 01:25:32