Пример #1
0
		public DataTable[] ExecuteSql(
			string                          sql,
			IEnumerable<QueryParameterInfo> parameters,
			IEnumerable<ParameterValue>     parameterValues,
			InstanceInfo                    instance
		)
		{
			var result = new List<DataTable>();

			var selectCommand = new SqlSelectCommand(
				this.Connection,
				sql,
				reader =>
				{
					var table = new DataTable();

					table.Load(reader, LoadOption.OverwriteChanges);

					result.Add(table);
				},
				this.GetParameters(parameters, parameterValues, instance)
			);

			selectCommand.Execute(100);

			return result.ToArray();
		}
		//
		// SQLite query to get the list of attached databases
		//
		private bool IsDatabaseAttached(string dbName)
		{
			const string sqlAttachedDbsList = "PRAGMA database_list;";
			List<string> attachedDbs        = new List<string>();

			SqlSelectCommand selectAttachedDbsCommand = new SqlSelectCommand(
				base.Connection,
				sqlAttachedDbsList,
				reader =>
				{
					while (reader.Read())
					{
						string attachedDb = (reader.GetValue(1)).ToString();
						attachedDbs.Add(attachedDb);
					}
				},
				null
			);

			selectAttachedDbsCommand.Execute(100);

			return attachedDbs.Contains(
				dbName,
				StringComparer.OrdinalIgnoreCase
			);
		}