JDBC Driver for Microsoft Dataverse

Build 24.0.9062

ステートメントの実行

Code からの接続 後、Statement クラスを使用してSQL ステートメントを実行できます。パラメータ化されたステートメントを実行するには、プリペアドステートメントの使用 を参照してください。

Select

データを返すSQL ステートメントを実行するには、Statement クラスの汎用の実行メソッドを使用するかexecuteQuery メソッドを使用します。クエリの結果を返すには、Statement クラスのgetResultSet メソッドを呼び出します。

次の例では、実行メソッドを呼び出して、返された結果を反復処理します。

Statement stat = conn.createStatement();
boolean ret = stat.execute("SELECT accountid, Name FROM Accounts");
if (ret) {
  ResultSet rs=stat.getResultSet();
  while(rs.next()) {
    for(int i=1;i<=rs.getMetaData().getColumnCount();i++) {
      System.out.println(rs.getMetaData().getColumnLabel(i) +"="+rs.getString(i));
    }
  }
}

Insert

INSERT を実行するには、汎用の実行メソッド、またはStatement クラスのexecuteUpdate メソッドを使用します。

新しいレコード用に生成されたキーを取得するには、メソッド呼び出しでStatement.RETURN_GENERATED_KEYS を指定します。ステートメントの実行後にStatement.getGeneratedKeys を呼び出します。次に例を示します。

Statement stat = conn.createStatement();
int count = stat.executeUpdate("INSERT INTO Accounts (accountid, Name) VALUES ('accountid','Name')",Statement.RETURN_GENERATED_KEYS );
ResultSet rs = stat.getGeneratedKeys();
while(rs.next()) {
  for(int i=1;i<=rs.getMetaData().getColumnCount();i++) {
    System.out.println(rs.getMetaData().getColumnLabel(i) +"="+rs.getString(i));
  }
}

Update

更新を実行するには、汎用の実行メソッド、またはStatement クラスのexecuteUpdate メソッドを使用します。getUpdateCount メソッドを呼び出して、影響を受けた行数を取得できます。または、executeUpdate メソッドを呼び出します。このメソッドは行数を返します。次に例を示します。

Statement stat = conn.createStatement();
stat.execute("UPDATE Accounts SET accountid = 'XXX' , Name = 'YYY' WHERE AccountId = ''00000000-0000-0000-0000-000000000000''");
int count = stat.getUpdateCount();

Delete

削除を実行するには、汎用の実行メソッド、またはStatement クラスのexecuteUpdate メソッドを使用します。getUpdateCount メソッドを呼び出して、影響を受けた行数を取得できます。または、executeUpdate メソッドを呼び出します。このメソッドは行数を返します。次に例を示します。

Statement stat = conn.createStatement();
stat.execute("DELETE FROM Accounts WHERE AccountId = ''00000000-0000-0000-0000-000000000000''");
int count = stat.getUpdateCount();

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062