问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库如何实现共用

发布网友 发布时间:2022-04-28 23:35

我来回答

2个回答

懂视网 时间:2022-05-01 11:52

//==================================================
// 作 者:文渊
// 日 期:2012/03/06
// 描 述:介绍本文件所要完成的功能以及背景信息等等
//==================================================
using System;
using System.Collections;
using System.Data;
using System.Text;
using System.Data.Common;
using System.Data.OleDb;
using System.Collections.Generic;
using System.Reflection;

using Microsoft.Practices.EnterpriseLibrary.Data;
using EFWCoreLib.CoreFrame.Orm;

namespace EFWCoreLib.CoreFrame.DbProvider
{
[Serializable]
public abstract class AbstractDatabase
{
/// <summary>
/// 数据库连接
/// </summary>
protected DbConnection connection = null; //数据库连接

/// <summary>
/// 数据库对象执行命令
/// </summary>
protected DbCommand command = null;

/// <summary>
/// 企业库数据库访问对象
/// </summary>
public Database database = null;

#region 属性

/// <summary>
/// 数据库事务
/// </summary>
protected DbTransaction transaction = null; //数据库事务

protected string _connString;
/// <summary>
/// 返回数据库连接字符串
/// </summary>
public string ConnectionString
{
get { return _connString; }
}

protected bool isInTransaction = false; //是否在事务中
/// <summary>
/// 返回是否处于事务中
/// </summary>
protected bool IsInTransaction
{
get { return this.isInTransaction; }
}

public int WorkId { get; set; }
//Entlib.config配置文件中配置的连接数据库的key
public string DbKey { get; set; }
//插件名称
public string PluginName { get; set; }
//数据库类型
public DatabaseType DbType { get; set; }

public abstract void TestDbConnection();

#endregion

/// <summary>
/// 启动一个事务
/// </summary>
public abstract void BeginTransaction();
/// <summary>
/// 提交一个事务
/// </summary>
public abstract void CommitTransaction();
/// <summary>
/// 回滚一个事务
/// </summary>
public abstract void RollbackTransaction();

#region 执行插入一条记录 适用于有 自动生成标识的列
public abstract int InsertRecord(string commandtext);
#endregion

#region 返回一个DataTable
public abstract DataTable GetDataTable(string commandtext);
public abstract DataTable GetDataTable(string storeProcedureName, params object[] parameters);
#endregion

#region 返回一个DataReader
public abstract IDataReader GetDataReader(string commandtext);
#endregion

#region 执行一个语句,返回执行情况
public abstract int DoCommand(string commandtext);
public abstract int DoCommand(string storeProcedureName, params object[] parameters);
#endregion

#region 执行一个命令返回一个数据结果
public abstract object GetDataResult(string commandtext);
public abstract object GetDataResult(string storeProcedureName, params object[] parameters);
#endregion

public abstract DataSet GetDataSet(string storeProcedureName, params object[] parameters);

#if !CSHARP30
public IEnumerable<dynamic> Query(string sql, object param)
{
connection = database.CreateConnection();
return connection.Query(PluginName,sql, param);
}
#else
public IEnumerable<IDictionary<string, object>> Query(string sql, object param)
{
connection = database.CreateConnection();
return connection.Query(sql, param);
}
#endif
public IEnumerable<T> Query<T>(string sql, object param)
{
connection = database.CreateConnection();
return connection.Query<T>(PluginName,sql, param, null, true, null, null);
}


public IEnumerable<TReturn> Query<TFirst, TSecond, TReturn>(string sql, Func<TFirst, TSecond, TReturn> map, object param)
{
connection = database.CreateConnection();
return connection.Query<TFirst, TSecond, TReturn>(PluginName,sql, map, param, null, true, "Id", null, null);
}

public IEnumerable<TReturn> Query<TFirst, TSecond, TThird, TReturn>(string sql, Func<TFirst, TSecond, TThird, TReturn> map, object param)
{
connection = database.CreateConnection();
return connection.Query<TFirst, TSecond, TThird, TReturn>(PluginName,sql, map, param, null, true, "Id", null, null);
}

public IEnumerable<TReturn> Query<TFirst, TSecond, TThird, TFourth, TReturn>(string sql, Func<TFirst, TSecond, TThird, TFourth, TReturn> map, object param)
{
connection = database.CreateConnection();
return connection.Query<TFirst, TSecond, TThird, TFourth, TReturn>(PluginName,sql, map, param, null, true, "Id", null, null);
}

public EFWCoreLib.CoreFrame.Orm.SqlMapper.GridReader QueryMultiple(string sql, object param)
{
connection = database.CreateConnection();
return connection.QueryMultiple(sql, param, null, null, null);
}

}

 

}

多类型数据库公共操作-对应数据库操作共用方法

标签:

热心网友 时间:2022-05-01 09:00

很简单,有方法二

方法一:

第一步:将你不同的网站的用户登陆的的数据库查询改为同一数据库表,其他有关于用户操作的都到同一表

第二步:将你的session或者cookie有关用户名的变量改成同一名称

优点很明显.数据同步

方法二:

将你的session或者cookie有关用户名的变量改成同一名称,就可以全站同步登陆.

不过缺点是数据不能同步更新,或者其他未知错误
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
同龄人早发育好还是晚发育好 小孩晚熟正常吗? 女孩子身体发育的早晚跟童子身有关系吗? 自喷漆如何晾干 自喷漆一般几分钟能干 自动静电喷塑流水线 玫瑰茉莉薄荷茶有什么功效 平面磨床哪家的好 十大名牌平面磨床 手机病毒查杀软件推荐选择最好的手机病毒查杀软件 电脑上怎么删除电脑管家 如何在网络上建立和共享数据库 分享 局域网内,如何共享数据库? 怎么实现数据库的共享 如何在一个局域网内共享一个数据库 收音机上带的内存卡如何复制 新款捷达车收音机怎么放内存卡 同一台服务器上的mysql中的两个数据库如何实现共享??? 收音机上的TF卡,是不是手机上的内存卡 请问专家:收音机上的TF卡怎样拔出? 收音机显示tf usb fm aum是什么意思 收音机内存卡插入手机录音乐怎样操作? 第一次使用(收音机的)读卡器和内存卡要注意什么? 插卡收音机怎样播放手机sd卡歌曲? 怎样给插卡收音机的tf卡下载歌曲 收音机上的tf卡.放在读卡器插在手机上怎么不能听歌? 收音机里的TF卡如何下载歌曲 华为HONOR手机来微信的声音小怎么调? 华为手机为什么微信声音小? 房贷还清后,需要什么证件和程序才能在银行取到房产证 mysql如何共享数据库 如何实现局域网内sql数据库共享 如何创建小型局域网使数据库共享 多个网站共享一个数据库可以么?如何操作? 如何建立专网上的数据库共享 谢谢! 两个数据库怎样进行数据共享 华为手机恢复出厂设置后手机应用市场不见了? 乐视手机蓝牙和wifi打不开 乐视2WLAN和蓝牙都打不开了。开开它有自动关闭了 苹果版qq怎么设置拍好的动态头像 乐视es手机WiFi打不开了怎么办 QQ普通用户怎么设置动态头像? 乐视x620手机WiFi打不开了怎么回事? qq炫舞名片动态头像这样的怎么做 乐视手机wifi跟蓝牙都打不开是什么原因?怎么办? 我的快递去哪里了? 谁能帮我查查这个包裹现在到哪了,中国邮政包裹? 查查我的顺丰快递到哪了 我要查查物流看我的货到哪里了单号是501024514? 查询邮政快递包裹,查查我的包裹到了哪里了?