⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oledriver.cs

📁 .net的数据持久层
💻 CS
字号:
using System;
using System.Text;
using System.Diagnostics;
using System.Data;
using System.Data.OleDb;

namespace Platform.Data 
{

	public class OleDriver : IDbDriver 
	{

		public OleDriver() { }

		public string ParameterPrix 
		{
			get { return "@"; }
		}

		private OleDbCommand CreateCommand(string connString, ISqlStatement sql) 
		{
			OleDbConnection conn = new OleDbConnection( connString );
			OleDbCommand cmd = new OleDbCommand( sql.SqlClause, conn );
			cmd.CommandTimeout = 300;
			cmd.CommandType = sql.CommandType;
			foreach( DataParameter dp in sql.Parameters )
			{
				OleDbParameter p = new OleDbParameter();
				p.ParameterName = "@" + dp.ParameterName;
				p.Value = dp.Value;
				p.Size = dp.Size;
				p.Direction = dp.Direction;
				cmd.Parameters.Add( p );
			}
			conn.Open();
			return cmd;
		}

		public string BuildListSqlCaluse(string sql, int from, int to, string conOrderString,  string oderString)
		{
			string tmpSql = sql.Replace("SELECT", String.Format( "SELECT TOP {0} ", to )); 
			string fmt = "SELECT * FROM ( SELECT TOP {0} * FROM ( SELECT TOP {1} * FROM( {2} ) TABLE__1) TABLE__2 {3} ) TABLE__3 {4} ";
			return String.Format(fmt, to - from, to, tmpSql, conOrderString, oderString );
		}

		public DataSet Query(string connString, ISqlStatement sql) 
		{
			using( OleDbCommand cmd = this.CreateCommand( connString, sql ))
				   {
				OleDbDataAdapter sda = new OleDbDataAdapter( cmd );
				DataSet ds = new DataSet();
				sda.Fill( ds );
				cmd.Connection.Close();
				return ds;
			}
		}

		public object QueryScalar(string connString, ISqlStatement sql) 
		{
			using ( OleDbCommand cmd = this.CreateCommand( connString , sql ) )
					{
				object obj = cmd.ExecuteScalar();
				cmd.Connection.Close();
				return obj;
			}
		}

		public int Update(string connString, ISqlStatement sql) 
		{
			using ( OleDbCommand cmd = this.CreateCommand( connString , sql ) )
					{
				int ret = cmd.ExecuteNonQuery();
				cmd.Connection.Close();
				return ret;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -