<commit_before><?xml version="1.0"?>

<document>
  <properties>
    <author email="<EMAIL>"><NAME></author>
    <title>Java Library for MS Access</title>
  </properties>
  <body>
    <section name="Jackcess">
      <p>
        Jackcess is a pure Java library for reading from and writing to MS
        Access databases (currently supporting versions 2000-2007).  It is part of the <a href="http://openhms.sourceforge.net/">OpenHMS</a> project from <a href="http://www.healthmarketscience.com/">Health Market Science, Inc.</a>.  It is not an application.  There is no GUI.  It's a
        library, intended for other developers to use to build Java
        applications.  Jackcess is licensed under the

        <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">GNU Lesser General Public License</a>.
        Take a look
        at our <a href="faq.html">Frequently Asked Questions</a>
        for more info.
      </p>
    </section>
    <section name="Sample code">
        <ul>
          <li>Displaying the contents of a table:
            <source>System.out.println(Database.open(new File("my.mdb")).getTable("MyTable").display());
</source>
          </li>
          <li>Iterating through the rows of a table:
            <source>Table table = Database.open(new File("my.mdb")).getTable("MyTable");
for(Map&lt;String, Object&gt; row : table) {
  System.out.println("Column 'a' has value: " + row.get("a"));
}
</source>
          </li>
          <li>Searching for a row with a specific column value:
            <source>Map&lt;String, Object&gt; row = Cursor.findRow(table, Collections.singletonMap("a", "foo"));
if(row != null) {
  System.out.println("Found row where 'a' == 'foo': " + row);
} else {
  System.out.println("Could not find row where 'a' == 'foo'");
}
</source>
          </li>
          <li>Creating a new table and writing data into it:
            <source>Database db = Database.create(new File("new.mdb"));
Table newTable = new TableBuilder("NewTable")
  .addColumn(new ColumnBuilder("a")
             .setSQLType(Types.INTEGER)
             .toColumn())
  .addColumn(new ColumnBuilder("b")
             .setSQLType(Types.VARCHAR)
             .toColumn())
  .toTable(db);
newTable.addRow(1, "foo");
</source>
          </li>

          <li>Copying the contents of a JDBC ResultSet (e.g. from an
external database) into a new table:
            <source>Database.open(new File("my.mdb")).copyTable("Imported", resultSet);</source>
          </li>
          <li>Copying the contents of a CSV file into a new table:
            <source>Database.open(new File("my.mdb")).importFile("Imported2", new File("my.csv"), ",");</source>
          </li>
        </ul>
    </section>
    <section name="Other Resources">
      Some other jackcess related projects:
      <ul>
        <li>
          <a href="http://mdbtools.sf.net">mdbtools</a> - Open Source project
          for reading Access files, written in C.
        </li>
      </ul>
    </section>
  </body>
</document><commit_msg>add jackcess encrypt link to other resources<commit_after><?xml version="1.0"?>

<document>
  <properties>
    <author email="<EMAIL>"><NAME></author>
    <title>Java Library for MS Access</title>
  </properties>
  <body>
    <section name="Jackcess">
      <p>
        Jackcess is a pure Java library for reading from and writing to MS
        Access databases (currently supporting versions 2000-2007).  It is part of the <a href="http://openhms.sourceforge.net/">OpenHMS</a> project from <a href="http://www.healthmarketscience.com/">Health Market Science, Inc.</a>.  It is not an application.  There is no GUI.  It's a
        library, intended for other developers to use to build Java
        applications.  Jackcess is licensed under the

        <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">GNU Lesser General Public License</a>.
        Take a look
        at our <a href="faq.html">Frequently Asked Questions</a>
        for more info.
      </p>
    </section>
    <section name="Sample code">
        <ul>
          <li>Displaying the contents of a table:
            <source>System.out.println(Database.open(new File("my.mdb")).getTable("MyTable").display());
</source>
          </li>
          <li>Iterating through the rows of a table:
            <source>Table table = Database.open(new File("my.mdb")).getTable("MyTable");
for(Map&lt;String, Object&gt; row : table) {
  System.out.println("Column 'a' has value: " + row.get("a"));
}
</source>
          </li>
          <li>Searching for a row with a specific column value:
            <source>Map&lt;String, Object&gt; row = Cursor.findRow(table, Collections.singletonMap("a", "foo"));
if(row != null) {
  System.out.println("Found row where 'a' == 'foo': " + row);
} else {
  System.out.println("Could not find row where 'a' == 'foo'");
}
</source>
          </li>
          <li>Creating a new table and writing data into it:
            <source>Database db = Database.create(new File("new.mdb"));
Table newTable = new TableBuilder("NewTable")
  .addColumn(new ColumnBuilder("a")
             .setSQLType(Types.INTEGER)
             .toColumn())
  .addColumn(new ColumnBuilder("b")
             .setSQLType(Types.VARCHAR)
             .toColumn())
  .toTable(db);
newTable.addRow(1, "foo");
</source>
          </li>

          <li>Copying the contents of a JDBC ResultSet (e.g. from an
external database) into a new table:
            <source>Database.open(new File("my.mdb")).copyTable("Imported", resultSet);</source>
          </li>
          <li>Copying the contents of a CSV file into a new table:
            <source>Database.open(new File("my.mdb")).importFile("Imported2", new File("my.csv"), ",");</source>
          </li>
        </ul>
    </section>
    <section name="Other Resources">
      Some other jackcess related projects:
      <ul>
        <li>
          <a href="http://mdbtools.sf.net">mdbtools</a> - Open Source project
          for reading Access files, written in C.
        </li>
        <li>
          <a href="http://jackcessencrypt.sourceforge.net/">Jackcess
          Encrypt</a> - Extension library for Jackcess which implements
          support for some forms of Microsoft Access and Microsoft Money
          encryption.
        </li>
      </ul>
    </section>
  </body>
</document>
{'fraction_non_alphanumeric': 0.14726352420120215, 'fraction_numerical': 0.004428978171464726, 'mean_word_length': 2.5824362606232296, 'pattern_counts': {'":': 0, '<': 129, '<?xml version=': 2, '>': 129, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '886920', 'n_tokens_mistral': 1947, 'n_tokens_neox': 1902, 'n_words': 549}