[Database]AccessテーブルのSQLite変換

AccessテーブルのSQLite変換する手順について共有します。

・JAVAインストールする。

例えば、バージョン 1.8.0_231

・apache antダウンロードし、展開する。

例えば、apache-ant-1.10.1-bin.zip

展開場所、例えば、C:\apache-ant-1.10.1

・システムユーザ変数追加

ユーザ変数名:ANT_HOME
変数値:C:\apache-ant-1.10.1

・mdb-spliteダウンロードし、展開する。

例えば、mdb-sqlite-1.0.2.tar.bz2

展開場所、例えば C:\mdb-sqlite-1.0.2

・コマンドプロンプトにて、mdb-sqliteビルドする。

cd C:\mdb-sqlite-1.0.2
C:\apache-ant-1.10.1\bin\ant dist

正しくビルドされた場合には、distフォルダにmdb-sqlite.jarが生成される。

・Sampleのmdbファイルをsqliteへ変換してみる。

exampleフォルダに入っているtest-database.mdbを変換する。

java -jar dist\mdb-sqlite.jar example\test-database.mdb test-databas

以下のjava実行警告は無視する。
JarClassLoader: Warning: Unable to load native library: java.lang.NullPointerException

C:\mdb-sqlite-1.0.2フォルダ直下にsqliteファイルが生成されることを確認する。

・生成されたsqliteファイルをPupSQLiteツールなど利用して、mdbファイルがSQLiteファイルに変換されたことを確認する。

[Visual Studio]SQLiteを使ったWindowsフォームアプリ作成

Visual StudioでSQLiteを使ったWindowsフォームアプリ作成例を共有します。

・プロジェクト作成

Windows フォームアプリケーション(.NET Framework)

名前:TestViewer

場所:C:\

ソリューション名:TestViewer

・System.Data.SQLiteパッケージインストール

ソリューションエクスプローラーからプロジェクト名を右クリックして「NuGet パッケージの管理」を選択する。

参照を選択して、「System.Data.SQLite」を選択して、インストールする。

・フォームデザイン

Button1、Button2を追加する。

・csファイルのインクルートに以下を追加する。

using System.IO;
using System.Data.SQLite;

・デザインのButton1をクリックして、csファイルで以下を追加する。


        private void button1_Click(object sender, EventArgs e)
        {
            //DB作成
            String dbname = "testviewer.db";
            if (File.Exists(dbname) == false) {
                using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + dbname))
                {
                    connection.Open();

                    using (SQLiteCommand cmd = connection.CreateCommand())
                    {
                        cmd.CommandText = "create table d_test(id INTEGER PRIMARY KEY, data TEXT);";
                        cmd.ExecuteNonQuery();
                    }
                }
            }

           //DB追加
            using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + dbname))
            {
                connection.Open();

                using (var transaction = connection.BeginTransaction())
                {
                    using (SQLiteCommand cmd = connection.CreateCommand())
                    {
                        cmd.CommandText = "insert into d_test(id, data) values (@ID, @DATA)";
                        cmd.Parameters.Add(new SQLiteParameter("@ID", 1));
                        cmd.Parameters.Add(new SQLiteParameter("@DATA", "testdata1"));
                        cmd.ExecuteNonQuery();
                    }
                    transaction.Commit();
                }
            }
        }

  

・デザインのButton2をクリックして、csファイルで以下を追加する。

        private void button2_Click(object sender, EventArgs e)
        {
 
           //DB検索
            String dbname = "testviewer.db";
           using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + dbname))
            {
                connection.Open();

                using (SQLiteCommand cmd = connection.CreateCommand())
                {
                    //SQL
                    cmd.CommandText = "select * from d_test where id = @ID";

                    //パラメータ
                    cmd.Parameters.Add(new SQLiteParameter("@ID", 1));

                    //Prepare
                    cmd.Prepare();

                    //reader
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine(reader["id"].ToString());
                            Console.WriteLine(reader["data"].ToString());
                        }
                    }
                }
            }
        }

・実行手順

Button1クリックして、DBにレコード登録する。

Button2クリックして、DBから検索する。

・実行結果

1
testdata1

[Technical Method]GitbubのDesktop

GitbubをDesktopにインストール手順を共有します。

1.インストール

DesktopにしたいGitbubまで移動して、「Open in Desktop」リンク押下する。

https://desktop.github.com/」が表示される。

Downlodeし、インストールする

2.ログインする。

ログイン用メールアドレス、PWを入力すると、確認コードがSMSへ送信されるとので、確認コードを入力して進む。

3.DeskTopに表示する。

[Salesforce]開発者コンソール画面でDebug

Salesforce開発者コンソール画面でDebugする手順について共有します。

1.開発者コンソールを表示する。

2.テスト用Apexクラス作成する。

public with sharing class ApexDebugController {

    public ApexDebugController(){
        String msg = 'ApexDebugControllermsg';
        User loginUser = new User();
    }
}

3.テスト用クラス2.の「User loginUser = new User();」行の左サイドにブレイクポイント設定する。

4.Debugタブの「Open Execute anonymous Window」に以下のクラス実行インライン文作成し、実行する。

ApexDebugController cls = new ApexDebugController();

5.「Checkpoins」タブ開いて、ブラ幾ポイント時点での変数値確認する。

[Salesforce]UserのName,FirstName,LastNameのAPI参照項目

UserのName,FirstName,LastNameなどAPI参照項目ですが、それはユーザの詳細画面には表示されませんが、API参照名として存在してます。

それは開発コンソル画面で以下のように確認しましたので、共有します。

User usr = [SELECT Id, Name, LastName, FirstName FROM User limit 1];
system.debug('usr:'+usr);

結果

usr:User:{Id=0050I000009tZe8QAE, Name=システム, LastName=システム}

[Salesforce]VisualStudioCode Pakage.xml

VisualStudioCode Pakage.xmlで、標準Object、カスタムObject取得方法を共有します。

例えば、標準の取引先、すべてのカスタムオブジェクト取得の場合は以下です。

    <types>
        <members>User</members>
        <members>Lead</members>
        <members>Account</members>
        <members>Contact</members>
        <members>Opportunity</members>
        <members>*</members>
        <name>CustomObject</name>
    </types>

他の例です。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>*</members>
        <name>ApexClass</name>
    </types>
    <types>
        <members>*</members>
        <name>ApexPage</name>
    </types>
    <types>
        <members>*</members>
        <name>ApexTrigger</name>
    </types>
    <types>
        <members>*</members>
        <name>ApprovalProcess</name>
    </types>
    <types>
        <members>User</members>
        <members>Lead</members>
        <members>Account</members>
        <members>Contact</members>
        <members>Opportunity</members>
        <members>*</members>
        <name>CustomObject</name>
    </types>
    <types>
        <members>*</members>
        <name>Workflow</name>
    </types>
    <types>
        <members>*</members>
        <name>Layout</name>
    </types>
    <types>
        <members>*</members>
        <name>Flow</name>
    </types>
    <types>
        <members>*</members>
        <name>FlowDefinition</name>
    </types>
    <version>47.0</version>
</Package>

[Salesforce]Apexのdivideメソッド

Apexのdivide関数について共有します。

テストコードは以下です。

Decimal decimalNumber = 8;
Decimal result1 = decimalNumber.divide(9, 1);
Decimal result2 = decimalNumber.divide(9, 2);
Decimal result3 = decimalNumber.divide(9, 3);
Decimal result4 = decimalNumber.divide(9, 4);
Decimal result5 = decimalNumber.divide(9, 5);
system.debug('result1:'+result1);
system.debug('result2:'+result2);
system.debug('result3:'+result3);
system.debug('result4:'+result4);
system.debug('result5:'+result5);

結果は以下です。

13:00:48:002 USER_DEBUG [15]|DEBUG|result1:0.9
13:00:48:002 USER_DEBUG [16]|DEBUG|result2:0.89
13:00:48:002 USER_DEBUG [17]|DEBUG|result3:0.889
13:00:48:002 USER_DEBUG [18]|DEBUG|result4:0.8889
13:00:48:002 USER_DEBUG [19]|DEBUG|result5:0.88889

divideメソッドは、切り上げしています。