log4net и system.data.sqlite

Объекты

Вот почему ООП это вещь.

Вместо того, чтобы создавать два массива и пытаться выяснить, кто связывает один массив с другим, вы объединяете эти массивы в объекты и создаете один массив из объектов.

Например, каждый парк (объект) содержит аттракционы (массив). Есть несколько (массив) парков.

public class Park {
    public string parkName;
    public Ride[] listOfRides; //Ride is similarly defined like Park is
}

А затем ваш другой код:

{
    public Park[] ParksArray;
    //...
}

Теперь все, что вам нужно, это случайным образом выбрать парк, получить его поездки и случайным образом выбрать поездку из этого списка:

[112 ]

5
задан Kent Fredric 23 December 2008 в 09:50
поделиться

2 ответа

Я искал то же самое сегодня и нашел http://sqlite.phxsoftware.com/forums/ t / 1667.aspx

Это пример конфигурации от человека, которому удалось успешно использовать провайдер ADO System.Data.SQLite (вместо того, который задокументирован в официальных документах Apache).

Надеюсь, он приведет вас в правильном направлении.

0
ответ дан 13 December 2019 в 05:43
поделиться

Убедитесь, что у вас установлены следующие ссылки:

  • log4net (очевидно)
  • System.Data.SQLite (вы можете забыть об этом)

Закройте проект в Visual Studio и повторно откройте .csproject (или эквивалент для VB) в текстовом редакторе и найдите раздел ссылок. Мой выглядит так:

<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\externals\log4net-1.2.10\bin\net\2.0\release\log4net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
  <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\externals\sqlite.net\System.Data.SQLite.dll</HintPath>
</Reference>

Обратите внимание на ссылку на SQLite. В этом случае вам понадобится этот текст: System.Data.SQLite, Version = 1.0.65.0, Culture = нейтральный, PublicKeyToken = db937bc2d44ff139 Это полное имя сборки, в которой размещается соединение sql, совместимое с ADO.net. классы, от которых фактически зависит log4net.

Снова откройте свой проект в Visual Studio, убедитесь, что у вас есть файл .config, и откройте его в текстовом редакторе XML. Будет легче вставить сюда мой конфигурационный файл, чем все объяснять. Обратите внимание, что вы собираетесь использовать здесь имя сборки.

Поместите это в узел XML configSections:

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

В качестве прямого дочернего XML-узла конфигурации поместите этот раздел XML:

<log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
        </layout>
    </appender>
    <appender name="sqlite" type="log4net.Appender.AdoNetAppender">
        <bufferSize value="100" />
        <connectionType value="System.Data.SQLite.SQLiteConnection, System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
        <connectionString value="Data Source=log4net.db;Version=3;" />
        <commandText value="INSERT INTO Log (Date, Level, Logger, Message) VALUES (@Date, @Level, @Logger, @Message)" />
        <parameter>
            <parameterName value="@Date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
        </parameter>
        <parameter>
            <parameterName value="@Level" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%level" />
            </layout>
        </parameter>
        <parameter>
            <parameterName value="@Logger" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%logger" />
            </layout>
        </parameter>
        <parameter>
            <parameterName value="@Message" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%message" />
            </layout>
        </parameter>
    </appender>
    <root>
        <level value="ALL" />
        <appender-ref ref="ConsoleAppender" />
        <appender-ref ref="sqlite" />
    </root>
</log4net>

В качестве последнего шага, который вы должны сделать убедитесь, что указанный вами файл sqlite db уже существует в указанном месте. Один из способов сделать это - создать базу данных и присоединить ее как ресурс, который нужно скопировать в папку вывода. Убедитесь, что его имя совпадает с указанным вами (в данном случае log4net.db )

Один из способов сделать это - создать базу данных и присоединить ее как ресурс, который нужно скопировать в папку вывода. Убедитесь, что его имя совпадает с указанным вами (в данном случае log4net.db )

Один из способов сделать это - создать базу данных и присоединить ее как ресурс, который нужно скопировать в папку вывода. Убедитесь, что его имя совпадает с указанным вами (в данном случае log4net.db )

12
ответ дан 13 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: