簡化SQL Insert、Update、Delete、Select的方法
2011-08-17 09:17
513 查看
在過去開發過程中,我一直對數據庫的操作需要寫重復的insert 、update、 delete、 select函數感到很討厭,所以我之前寫了一些簡化的方法,現重新整理一下給大家分享
,希望對大家有所幫助,代碼如下:
//對數據庫的所有操作只是調用Oper或Select兩個函數就可以了,只是構造不同的class和sql
private string insertsql = "insert .....";
private string updatesql = "update .....";
private string deletesql = "delete .....";
private string selectsql = "select .....";
public class SampleClass //定義實體類,變量名和sql裡的輸入變量名對應
{
private Int32 _AttKey = -1;
private String _EqStyle = "";
//。。。。。。。。。。更多類成員
public Int32 AttKey
{
get{ }
set{ }
}
//。。。。。。。。。。。。。。
}
private System.Data.SqlClient.SqlParameter[] GetParameters(System.Object obj) //構造SqlParameter對象函數
{
System.Reflection.PropertyInfo[] properties = obj.GetType().GetProperties();
System.Data.SqlClient.SqlParameter[] theParameters = new System.Data.SqlClient.SqlParameter[properties.Length];
int i = 0;
foreach (System.Reflection.PropertyInfo property in properties)
{
theParameters[i] = new System.Data.SqlClient.SqlParameter("@" + property.Name,Convert.ChangeType(property.GetValue(obj, null),property.GetType()));
i = i + 1;
}
return theParameters;
}
public Song.Model.ExecuteResultEnum Oper(System.Object obj, string sqlstr) //執行操作函數
{
try
{
SqlParameter[] theParameters = new SqlParameter[] { new SqlParameter() };
theParameters = GetParameters(obj);
SQLServerHelper.ExecuteNonQuery(sqlstr, theParameters);
return ExecuteResultEnum.Succeed;
}
catch
{
return ExecuteResultEnum.Failed;
}
}
public System.Collections.ArrayList Select<T>(System.Object obj, string sqlstr) //執行select函數
{
try
{
SqlParameter[] theParameters = new SqlParameter[] { new SqlParameter() };
theParameters = GetParameters(obj);
System.Collections.ArrayList arr=SQLServerHelper.ExecuteSelect(sqlstr, theParameters);
return arr;
}
catch
{
return null;
}
}
private void oop()//調用
{
SampleClass sc = new SampleClass();
sc.AttKey = 1;
sc.EqStyle = "ww";
Song.Model.ExecuteResultEnum eResult = Oper(sc, insertsql);
Song.Model.ExecuteResultEnum eResult = Oper(sc, updatesql);
Song.Model.ExecuteResultEnum eResult = Oper(sc, deletesql);
System.Collections.ArrayList arr = Select<SampleClass>(sc, selectsql);
}
,希望對大家有所幫助,代碼如下:
//對數據庫的所有操作只是調用Oper或Select兩個函數就可以了,只是構造不同的class和sql
private string insertsql = "insert .....";
private string updatesql = "update .....";
private string deletesql = "delete .....";
private string selectsql = "select .....";
public class SampleClass //定義實體類,變量名和sql裡的輸入變量名對應
{
private Int32 _AttKey = -1;
private String _EqStyle = "";
//。。。。。。。。。。更多類成員
public Int32 AttKey
{
get{ }
set{ }
}
//。。。。。。。。。。。。。。
}
private System.Data.SqlClient.SqlParameter[] GetParameters(System.Object obj) //構造SqlParameter對象函數
{
System.Reflection.PropertyInfo[] properties = obj.GetType().GetProperties();
System.Data.SqlClient.SqlParameter[] theParameters = new System.Data.SqlClient.SqlParameter[properties.Length];
int i = 0;
foreach (System.Reflection.PropertyInfo property in properties)
{
theParameters[i] = new System.Data.SqlClient.SqlParameter("@" + property.Name,Convert.ChangeType(property.GetValue(obj, null),property.GetType()));
i = i + 1;
}
return theParameters;
}
public Song.Model.ExecuteResultEnum Oper(System.Object obj, string sqlstr) //執行操作函數
{
try
{
SqlParameter[] theParameters = new SqlParameter[] { new SqlParameter() };
theParameters = GetParameters(obj);
SQLServerHelper.ExecuteNonQuery(sqlstr, theParameters);
return ExecuteResultEnum.Succeed;
}
catch
{
return ExecuteResultEnum.Failed;
}
}
public System.Collections.ArrayList Select<T>(System.Object obj, string sqlstr) //執行select函數
{
try
{
SqlParameter[] theParameters = new SqlParameter[] { new SqlParameter() };
theParameters = GetParameters(obj);
System.Collections.ArrayList arr=SQLServerHelper.ExecuteSelect(sqlstr, theParameters);
return arr;
}
catch
{
return null;
}
}
private void oop()//調用
{
SampleClass sc = new SampleClass();
sc.AttKey = 1;
sc.EqStyle = "ww";
Song.Model.ExecuteResultEnum eResult = Oper(sc, insertsql);
Song.Model.ExecuteResultEnum eResult = Oper(sc, updatesql);
Song.Model.ExecuteResultEnum eResult = Oper(sc, deletesql);
System.Collections.ArrayList arr = Select<SampleClass>(sc, selectsql);
}
相关文章推荐
- SQL语句复习:insert,update,delete,select
- SQL语句复习:insert,update,delete,select
- SQL SERVER INSERT、UPDATE 、DELETE、SELECT增、改、删、查
- 写student类中的select,delete,update,insert方法并在objectDataSource中应用(分别写两个,一个返回datatable,一个使用list)
- 4000 C++使用Mysql的详细步骤及各个常用方法的代码演示:select,insert,update,delete
- 写student类中的select,delete,update,insert方法并在objectDataSource中应用(分别写两个,一个返回datatable,一个使用list)
- orcl sql语句笔记(select成功,update/delete/insert失败问题)
- 掌握SQL四条最基本的数据操作语句:Insert,Select,Update和Delete
- 根据表名自动生成INSERT,UPDATE,DELETE,SELECT的SQL语句
- Oracle中5个核心Sql语句的基本构造:Select、Insert、Update、Delete和Merge
- 关系数据库标准语言SQL的基本操作:SELECT, CREATE, DROP, ALTER, INSERT, UPDATE, DELETE
- 3• 使用ObjectDataSource完成上述题目 (添加select、delete、update和insert对应的类和方法)
- select,delete,update,insert语句使用方法
- 相信吗?仅仅通过配置sql(select\update\insert\delete)语句就能开发小型企业级项目
- SQL 学习笔记<二> INSERT, UPDATE, DELETE, SELECT
- SQL编写规范(多select、update、insert、delete)[PHP]
- sql基本语法select、insert、update、delete、distinct等
- Hibernate insert,select,update,delete方法
- sql基本语法select、insert、update、delete、distinct等 .
- 掌握SQL四条最基本的数据操作语句:Insert,Select,Update和Delete