net自动生成sql语句问题?

tubinbinit 2009-05-01 03:42:13
传入实体对象 自动生成添删该查sql语句
下面是添加的方法 请高手教删该查

下面用的是反射和特性

public static String GetInsertSql(object s)
{
Type t= s.GetType();//得到对象的类型
PropertyInfo[] proArr= t.GetProperties();
//得到类的所有属性

string sql1 = "insert into " + t.Name+"(";
string sql2 = ") values (";
//Console.WriteLine(t.Name);

foreach (PropertyInfo pi in proArr)//所有的属性
{
object[] objArr= pi.GetCustomAttributes(false);
//得到这个属性上所有的特性
bool isNotIdnetity=true;//不是自增的标识
foreach (object o in objArr)
{
//Console.WriteLine(o.ToString());
if (o.ToString() == "AttributeDemo.IdentityAttribute")
isNotIdnetity = false;//是自增列
}
if (isNotIdnetity)//如果不是自增列,要添加到sql 语句中
{
//Console.WriteLine(pi.Name);
sql1 += pi.Name + ",";
//Console.WriteLine(pi.GetValue(s,null).ToString());
sql2 += "'" + pi.GetValue(s, null).ToString() + "',";
}

}



sql1 = sql1.Substring(0, sql1.Length - 1);
sql2 = sql2.Substring(0, sql2.Length - 1)+")";
//Console.WriteLine(sql1 + sql2);
return sql1 + sql2;
}
...全文
40 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonezhlx 2009-05-05
  • 打赏
  • 举报
回复
什麽问题? 看你实体类的结构,通过特性找到primary key的property,然后getvalue,作为主键信息,更新查找都可以了,表信息可以作为实体类的特性。
linq 当道,还需要吗?

17,741

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧