日期:2014-05-17 浏览次数:20885 次
//数据表原有字段
List<System.String> _listField=new List<System.String>();
/// <summary>
/// 数据表字段
/// </summary>
public List<System.String> FieldList
{
get
{
_listField.Add("AutoID");
_listField.Add("AccountName");
_listField.Add("Password");
_listField.Add("RoleID");
_listField.Add("Email");
_listField.Add("Mobile");
_listField.Add("IsSystem");
_listField.Add("LoginCount");
_listField.Add("LastLoginIP");
_listField.Add("LastLoginArea");
_listField.Add("LastLoginTime");
_listField.Add("AutoTimeStamp");
return _listField;
}
}
...
然后有段更新模型的代码
public override bool UpdateModel<T>(T model)
{
bool bolReturn = false;
//更新需要一个主键值
int intIDKey = new int();
//数据表名称
string strTableName = string.Empty;
//数据表字段
List<string> listField = new List<string>();
Type modelEntityType = model.GetType();
PropertyInfo[] arrProperty = modelEntityType.GetProperties();
StringBuilder builderSQL = new StringBuilder();
List<SqlParameter> listParams = new List<SqlParameter>();
foreach (PropertyInfo property in arrProperty)
{
//指定的数据库表名
if (property.Name == "DBTableName")
{
object obj = property.GetValue(model, null);
strTableName = obj == null ? string.Empty : obj.ToString();
}
//指定的数据表字段
if (property.Name == "FieldList")
{
object obj = property.GetValue(model, null);
listField = (List<string>)obj;
}
//指定的主键
if (property.Name == "AutoID")
{
object obj = property.GetValue(model, null);
intIDKey = obj == null ? 0 : Convert.ToInt32(obj);
}
}
神奇的事件就出现在FieldList listField 上面
private List<string> _ss=new List<string> ();
public List<string> ss
{
get
{
if (_ss.Count > 0)
{
_ss.Clear();
}
else
{
_ss.Add("1");
_ss.Add("2");
}
return _ss;
}
}
------解决方案--------------------
你是不是不断的拖动断点导致了重复添加数据,那就没错啊