#region 插入记录
public bool insertData(string sql,Object obj)
{
try
{
adapter = new SqlDataAdapter(sql, connect);
sqlCBuilder = new SqlCommandBuilder(adapter);
ds = new DataSet();
adapter.Fill(ds);
DataRow dr = ds.Tables[0].NewRow();
Type type = obj.GetType();
PropertyInfo[] propertyArray = type.GetProperties();
foreach (PropertyInfo field in propertyArray)
{
Object returnValue= field.GetGetMethod().Invoke(obj, null);
string fieldName = PropertiesName(field.Name);
dr[fieldName] = returnValue;
}
ds.Tables[0].Rows.Add(dr);
adapter.Update(ds);
return true;
}
catch
{
return false;
}
finally
{
if (connect.State == ConnectionState.Open)
{
connect.Close();
}
}
}
#endregion
#region 将类的公共属性名转换为数据库对应的字段名
public string PropertiesName(string PropertyInfoName)
{
string str = PropertyInfoName;
if (str != null)
{
string toLower = str.ToLowerInvariant();
string first = toLower.Substring(0,1);
str = first + str.Substring(1, str.Length - 2);
}
return str;
}
#endregion
分享到:
相关推荐
综上所述,"C#利用反射类的技术实现sql动态增删改查.rar"是一个关于如何在C#中利用反射进行数据库操作的实例,通过动态生成SQL语句,实现了对SQL数据库的灵活性和适应性。这种技术对于处理复杂的业务逻辑和多样化的...
总结,优化C#与MySQL在大数据场景下的交互,关键在于选择正确的数据访问方式(原生API优于ORM)、充分利用索引、优化数据处理逻辑以及高效地批量插入数据。通过这些策略,可以显著提高处理效率,降低资源消耗,使...
开发者可以将其引用到自己的C#项目中,无需了解底层实现,只需调用相应的接口即可执行数据库操作。 1. **数据库连接**:DLL通常会提供一个类,如`DBConnection`,用于管理到SQL Server数据库的连接。这个类可能包含...
本篇文章将详细探讨C#中的泛型、反射以及如何利用这些特性来实现自动生成SQL语句。 **一、C# 泛型** 泛型是C#的一个核心特性,它允许我们编写类型参数化的代码,即代码可以在多种数据类型上工作,而无需进行显式的...
利用反射动态拼接sql。 daohelper属于DAL层,objectdata类属于BLL层,BLL层引用DAL层。映射数据的表继承objectdata类。例如,数据表book,根据字段与属性一一对应的方式创建book类,插入数据库时,直接book.save()
`qkxyBll.GetModelList()`方法用于从数据库中查询满足条件的数据,并将结果填充到`qkxyList`中。 在查询数据后,代码检查`qkxyList.Count`是否大于0。如果大于0,表示有数据,那么方法会返回这个列表。如果等于0,...
本文将深入探讨如何在C#中利用反射和简单工厂模式来实现对不同数据库的动态访问。 首先,我们需要理解反射的概念。反射允许程序在运行时获取关于自身类型的信息,并能创建和操作这些类型的实例。在C#中,我们可以...
本篇文章将详细讲解如何利用泛型与反射来创建一个万能的数据库操作代码,如同标题所示,这可以极大提高代码的复用性和可维护性。 **泛型(Generics)** 泛型是Java SE 5.0引入的一个新特性,它允许在编译时检查...
尽管它们利用反射和缓存技术,但在大量数据处理时,效率仍然低于原生SQL。因此,对于海量数据,建议使用原生SQL进行更高效的读取。 3. **原生SQL与DataReader**:使用`MySqlConnection`和`MySqlCommand`,配合`...
ObjectDataSource不直接连接到数据库,而是通过反射机制调用业务逻辑层的对象方法,实现了数据的查询、插入、更新和删除。ObjectDataSource的属性如SelectMethod、InsertMethod、UpdateMethod和DeleteMethod分别指定...
本文将深入探讨C#反射的应用,并通过一个实例来展示如何使用反射实现多系统数据库的配置。 首先,我们需要理解反射的基本概念。反射是.NET框架提供的一种功能,它允许程序在运行时获取有关自身的信息,如类、接口、...
6. `Convert.ChangeType()`方法用于将数据行中的值转换为与属性匹配的类型。 7. `DataTable.Rows`和`DataColumn`属性的使用,以便访问数据行和列的信息。 这种将数据库查询结果转换为泛型集合的方法使得代码更加...
【标签】"C#"表明这个项目的核心技术栈是以C#为主,意味着开发者可能利用了C#的强大特性和.NET框架的各种服务,如垃圾回收、多线程支持、反射以及丰富的类库等。 综合以上分析,这个项目是一个使用C#编程语言开发的...
例如,我们可以定义一个类,该类的属性对应于数据库表的列,然后利用反射获取这些属性并生成对应的SELECT、INSERT、UPDATE或DELETE语句。这样,当我们需要根据不同的条件或规则查询数据时,只需改变对象的状态,而...
本文将深入探讨“C#代码生成器”这一主题,它主要用于生成T-SQL语句和实体类代码。 C#是一种面向对象的编程语言,广泛应用于.NET框架中。代码生成器是开发工具的一部分,它可以自动生成代码,使开发者无需手动编写...
本主题将深入探讨如何使用C#编写一个`OleDb`数据库连接的通用类库。 首先,创建一个名为`OleDbConnectionManager`的静态类,这个类将负责数据库连接的创建、打开、关闭和释放。在这个类中,我们可以定义一个私有的`...
- 通过反射和属性元数据,可以将这些信息转换为C#类的属性定义。 3. C# Model层生成: - 基于表结构信息,创建C#类,每个类代表一个数据库表,类的属性对应表的字段。 - 属性名称通常与数据库字段名称保持一致,...
在C#中,使用`typeof`或`Type.GetType`等方法可以获取到类型对象,进而利用反射API(如`GetProperties`、`GetMethod`等)获取类型的各种元数据。这些信息可以用于动态生成SQL语句,执行数据库操作,如查询、插入、...
总结,通过C#的反射和特性,我们可以实现ORM映射,从而简化数据库操作,提高代码的可维护性和灵活性。反射提供了动态访问和操作对象的能力,而特性则为我们提供了在代码中添加元数据信息的手段,两者结合是实现ORM...
在Unity中怎么使用轻量级数据库Sqlite,并利用反射将C#定义的数据类直接映射到数据库的表中,类似于安卓的"DataSupport"类,可以直接按照如下操作保存数据到数据库: //定义一个类Book public class Book ...