62,074
社区成员
发帖
与我相关
我的任务
分享
create proc Validated
(
@tablename varchar(200), --表名
@updateString varchar(1000), --更改的字段
@whereString varchar(1000) --根据什么字段更改
)
as
begin
declare @sql varchar(2000) --定义sql变量
set @sql='Update '+@tablename+' set '+@updateString+'=-('+@updateString+'-1)'+' where '+@whereString
print @sql
exec(@sql)
end
/// <summary>
/// 更新一条数据
/// </summary>
public string Update(Object obj)
{
string sProperty = "";
string tmpTableName = "";
StringBuilder strSql = new StringBuilder();
try
{
Type type = obj.GetType();
SqlParameter[] parameters = new SqlParameter[type.GetProperties().GetLength(0) - 1];
int i = 0;
foreach (PropertyInfo info in type.GetProperties())
{
if (info.Name == "sTableName")
{
tmpTableName = info.GetValue(obj, null) + "";
continue;
}
if (info.Name != "ID")
sProperty += info.Name + "=@" + info.Name + ",";
string sObjProperty = info.PropertyType + "";
string sObjValue = info.GetValue(obj, null) + "";
string sDataType = getDataType(sObjProperty, sObjValue);
parameters[i] = new SqlParameter("@" + info.Name, sDataType);
parameters[i].Value = sObjValue;
i++;
}
sProperty = sProperty.Substring(0, sProperty.Length - 1);
if (tmpTableName == "") tmpTableName = sTableName;
strSql.Append("update " + tmpTableName + " set ");
strSql.Append(sProperty);
strSql.Append(" where ID=@ID");
DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
return strSql.ToString();
}
catch
{
return strSql.ToString();
}
}
/// <summary>