下面的例子就是调用通用类的数据库 *** 作方法(数据库的链接与关闭都在通用类中),不懂得花可以发例子给你。using System;
using SystemCollectionsGeneric;
using SystemText;using TroubledTimesModels;
using SystemData;
using SystemDataSqlClient;namespace TroubledTimesDAL
{
/// <summary>
/// 官方活动信息数据访问类
/// </summary>
public static class FunctionsService
{
/// <summary>
/// 1根据不同情况查询活动信息
/// </summary>
/// <param name="type">活动类型</param>
/// <param name="state">设置状态</param>
/// <param name="name">活动名称</param>
/// <param name="flag">控制变量</param>
/// <returns>活动信息对象的集合</returns>
public static IList<Functions> GetAllFunctions(string type,string state,string name,int flag)
{
string sql = "Select from Functions where State =1";
if(type!="" && flag==1)
sql += " and FunState='" + type + "'";
else if (state != "" && flag == 2)
sql += " and SetState='" + state + "'";
else if (name!="" && flag==3)
sql += " and FunctionName like '%" + name + "%'";
else if (flag == 4)
sql += " and FunState='" + type + "' and SetState='" + state + "'";
else if (flag == 5)
sql += " and FunState='" + type + "' and FunctionName like '%" + name + "%'";
else if (flag == 6)
sql += " and SetState='" + state + "' and FunctionName like '%" + name + "%'";
else if (flag == 7)
sql += " and FunState='" + type + "' and SetState='" + state + "' and FunctionName like '%" + name + "%'";
sql += " order by FunNumber Desc";
IList<Functions> list = new List<Functions>();
try
{
// DataTable dt = DBHelperGetScalar("up_SelectFunctions");
DataTable dt = DBHelperGetDataTable(sql);
foreach (DataRow row in dtRows)
{
Functions function = new Functions();
functionFunctionName = (string)row["FunctionName"];
functionFId = (int)row["FId"];
functionFunctionUrl = (string)row["FunctionUrl"];
functionFunctionImg = (string)row["FunctionImg"];
functionFunctionContent = (string)row["FunctionContent"];
functionFunctionTime = (DateTime)row["FunctionTime"];
functionFunAdminUrl = (string)row["FunAdminUrl"];
functionFunState = (int)row["FunState"]; //--活动类型(游戏活动/官网活动,0:游戏)<后加>
functionSetState = (int)row["SetState"]; //--设置状态(设置中/预设置,0:预设置)<后加>
functionFunNumber = (int)row["FunNumber"]; //--活动支持率(仅官网)<后加>
functionState = (int)row["State"]; //--存贮状态(0/1)
listAdd(function);
}
return list;
}
catch (Exception ex)
{
ConsoleWriteLine(exMessage);
return null;
}
} /// <summary>
/// 2根据活动类型获取活动信息
/// </summary>
/// <param name="id">活动类型</param>
/// <returns>该活动类型的数量</returns>
public static int GetFunctionsByType(int type)
{
IList<Functions> list = new List<Functions>();
try
{
string sql = "select count() from Functions where SetState = 1 and FunState='" + type+ "'";
return DBHelperSanlar(sql); }
catch (Exception ex)
{
ConsoleWriteLine(exMessage);
return 0;
}
} /// <summary>
/// 3根据活动ID修改活动信息
/// </summary>
/// <param name="f">活动信息类对象</param>
/// <returns>数据库中受影响的行数</returns>
public static int ModifyFunctionsById(Functions f)
{
try
{
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@FId",fFId),
new SqlParameter("@FunctionName",fFunctionName),
new SqlParameter("@FunctionUrl",fFunctionUrl),
new SqlParameter("@FunctionImg",fFunctionImg),
new SqlParameter("@FunctionContent",fFunctionContent),
new SqlParameter("@FunctionTime",fFunctionTime),
new SqlParameter("@functionFunAdminUrl",fFunAdminUrl),
new SqlParameter("@FunState",fFunState),
new SqlParameter("@FunNumber",fFunNumber),
new SqlParameter("@SetState",fSetState),
new SqlParameter("@State",fState)
};
return DBHelperExecuteProc("up_AmendFunctions", para);
}
catch (Exception ex)
{
ConsoleWriteLine(exMessage);
return 0;
}
} /// <summary>
/// 4添加活动信息
/// </summary>
/// <param name="f">活动信息类对象</param>
/// <returns>数据库中受影响的行数</returns>
public static int AddFunctions(Functions f)
{
try
{
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@FunctionName",fFunctionName),
new SqlParameter("@FunctionUrl",fFunctionUrl),
new SqlParameter("@FunctionImg",fFunctionImg),
new SqlParameter("@FunctionContent",fFunctionContent),
new SqlParameter("@FunctionTime",fFunctionTime),
new SqlParameter("@FunAdminUrl",fFunAdminUrl),
new SqlParameter("@FunState",fFunState),
new SqlParameter("@FunNumber",fFunNumber),
new SqlParameter("@SetState",fSetState),
new SqlParameter("@State",fState) };
return DBHelperExecuteProc("up_AddFunctions", para);
}
catch (Exception ex)
{
ConsoleWriteLine(exMessage);
return 0;
} }
/// <summary>
/// 5、根据id批量删除活动信息(修改)
/// </summary>
/// <param name="id">活动信息id</param>
/// <returns>返回受影响的行数</returns>
public static int DeleteFunById(string ids)
{
//string sql = "update Functions set State = 0 where FId in('"+ids+"')";
string sql = "update Functions set State = 0 where FId ='" + ids + "'";
try
{
return DBHelperExecuteCommand(sql);
}
catch(Exception ex)
{
throw ex;
}
}
/// <summary>
/// 6、根据id修改设置状态
/// </summary>
/// <param name="id">活动信息id</param>
/// <returns>返回受影响的行数</returns>
public static int UpdateSetById(int id, int setState)
{
string sql = "Update Functions set SetState = "+setState+" where FId="+id;
try
{
return DBHelperExecuteCommand(sql);
}
catch(Exception ex)
{
throw ex;
}
}
}
}
这种架构一般用在以下三类场景
1 备份多台 Server 的数据到一台如果按照数据切分方向来讲,那就是垂直切分。比如图 2,业务 A、B、C、D 是之前拆分好的业务,现在需要把这些拆分好的业务汇总起来备份,那这种需求也很适用于多源复制架构。实现方法我大概描述下:业务 A、B、C、D 分别位于 4 台 Server,每台 Server 分别有一个数据库来隔离前端的业务数据,那这样,在从库就能把四台业务的数据全部汇总起来,而不需要做额外的 *** 作。那没有多源复制之前,要实现这类需求,只能在汇总机器上搭建多个 MySQL 实例,那这样势必会涉及到跨库关联的问题,不但性能急剧下降,管理多个实例也没有单台来的容易。
2 用来聚合前端多个 Server 的分片数据。
同样,按照数据切分方向来讲,属于水平切分。比如图 3,按照年份拆分好的数据,要做一个汇总数据展现,那这种架构也非常合适。实现方法稍微复杂些:比如所有 Server 共享同一数据库和表,一般为了开发极端透明,前端配置有分库分表的中间件,比如爱可生的 DBLE。
3 汇总并合并多个 Server 的数据
第三类和第一种场景类似。不一样的是不仅仅是数据需要汇总到目标端,还得合并这些数据,这就比第一种来的相对复杂些。比如图 4,那这样的需求,是不是也适合多源复制呢?答案是 YES。那具体怎么做呢?
比如student和class中都有name字段:(如果有更多的表,依次类推)
select aname,bname
from student a
left join class b
ON aid = bid
tnsnamesora是连接配置文件,复制到类似下面的目录
D:\oracle\product\1120\db_1\NETWORK\ADMIN
即可通过oralce11g客户端连接服武器
以上就是关于asp.net中数据库连接的公共类的调用方法全部的内容,包括:asp.net中数据库连接的公共类的调用方法、怎样多台电脑公用一个电脑的mysql数据库、数据库中,两个表建立连接,要是有两个公共字段,怎么选择等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)