积极答复者
动态的列名应该怎么传递?

问题
-
public bool EditVariety(string rowName, string newValue, int vId) { string sql = "UPDATE DNA_Variety SET [@rowName] = @newValue WHERE F_FID = @F_FID"; SQLiteParameter[] paras = new SQLiteParameter[] { new SQLiteParameter("@rowName", rowName), new SQLiteParameter("@newValue", newValue), new SQLiteParameter("@F_FID", vId) }; return SQLiteHelper.ExecuteNonQuery(sql, paras) == 0 ? false : true; }
现在提示列名@rowName无效,像这种动态的列名应该怎么传递?
string sql = "UPDATE DNA_Variety SET " + rowName + " = @newValue WHERE F_FID = @F_FID";
SQL语句要这么写没有问题,可是这种" + rowName + "拼接很不安全。
- 已编辑 hkstb 2010年11月8日 2:14 有错误
答案
全部回复
-
string sql = "UPDATE DNA_Variety SET rowName = @newValue WHERE F_FID = @F_FID";
参照:http://www.csccd.net/Info_1497.aspx
http://blog.csdn.net/zx13525079024