データストア query.addFilterは非推奨 【google app engine for java】
クエリを用いて条件検索する方法
// インポート文
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.Query.FilterOperator;
private static DatastoreService datastoreService = DatastoreServiceFactory
.getDatastoreService();
Query query = new Query("テーブル名");
query.setFilter(FilterOperator.EQUAL.of("検索するカラム名","検索したい文字列"));
PreparedQuery pQuery = datastoreService.prepare(query);
for(Entity entity: pQuery.asIterable()){
xx = entity.getProperty("取得したいカラム名").toString();
}
・実行SQL
SELECT 取得したいカラム名 FROM テーブル名 WHERE 検索するカラム名 = "検索したい文字列";
WEBアプリ DB移行の際に発生した問題 (CHAR編)
「事象」
DB2:後方トリム(半角スペースを除去)して検索処理を行う。
oracle:後方トリムせず厳密に、検索処理を行う。
「例」CHAR(5)
【カラム】XX
【 値 】abc__
・DB2の場合
selest * from テーブル名 where = "abc";
⇒ヒットする。
selest * from テーブル名 where = "abc__";
⇒ヒットする。
・oracleの場合
selest * from テーブル名 where = "abc";
⇒ヒットしない。
selest * from テーブル名 where = "abc__";
⇒ヒットする。
※ "_"は半角スペース
「環境情報、DB情報」
・java7
・DriverManager.getConnection
・jdk1.7
・tomcat7
・ibatisなし
・ojdbc14
・oracle11g
Oracle SQL Developerで検索したら後方トリムして検索してくれるのに、
AP経由だと取得できないのはなぜだろう。
ojdbcのバージョンがいけないのか? ibatis使ったら上手くいった。なぞ。
【Excel】 読み取れない内容が含まれています。このブックの内容を回復しますか?
▼こんなエラーが出て、図形がすべて消えたときの復旧方法▼
"読み取れない内容が含まれています。このブックの内容を回復しますか?ブックの発行元が信頼できる場合は[はい]をクリックして下さい。"
①OpenOfficeで開く(インストール済みであること)
②xlsx形式で別名保存
③別名保存したファイルをエクセルで開く
図形の位置がずれていたり、文字フォントが変わってしまっていますが
復旧できました!
【Excel】 やらかしました。。[作業グループ編]
今日、仕事でやらかしました。
あるシートを修正していたのですが、右隣シートの同じセルも勝手に修正されているではありませんか。元の内容が上書きされているではありませんか。
(※ctr押しながらシートの複数選択など決してしていません。)
しかも ctr + s でこまめに保存しているから戻れもしない。
このミスの原因は、[ shift + ctr + PgDn ]のショートカットキーと判明。
入力したセルは、飛び飛びで登場箇所が不規則でしたので[ shift + ctr + ↓ ]で確認していってました。
その際に誤って[ shift + ctr + PgDn ]を押し、”作業グループ”を発動させてしまったのでしょう。
いやはや恐ろしい。
【Excel】 シートがバラバラ! そんなときは
マクロです。
目次シートのシート名一覧の順番に並べかえ。
Sub sort()
Dim sortedSheetName As String
Dim temp As String
Dim Range As String
' 1. 目次のシート順をセル(B2:B6)から取得
For i = 0 To 4
'2. 文字列sortedSheetNameに格納
Range = "B" & (i + 2)
temp = Sheets("目次").Range(Range).Value
If (i < 4) Then
temp = temp + ","
End If
sortedSheetName = sortedSheetName + temp
Next
' 3. 文字列:sortedSheetNameから配列:sheetNameに変換
Dim sheetName As Variant
sheetName = Split(sortedSheetName, ",")
' 4. 0から4以下の間でループ
For i = 0 To UBound(sheetName) - LBound(sheetName)
' 5. 取得したシートをコピーして、最後のシートの後ろに追加
Worksheets(sheetName(i)).Copy After:=Worksheets(Worksheets.Count)
' 6. 配列:sheetNameのi番目のシートを削除する(コピーしておいているので大丈夫)
Application.DisplayAlerts = False
Worksheets(sheetName(i)).Delete
Application.DisplayAlerts = True
' 7. 新しく追加したシートのシート名を変更
Worksheets(Worksheets.Count).Name = sheetName(i)
Next
End Sub
※取り急ぎ書いたメモ程度。後日、時間があるときにきれいにします。
議事録のコツ(仮)自分用 - 追記
前回の続きです。
前回作成した議事録の赤入れがありました。
全体の流れは掴めていたとのことで
指摘事項としては、"スケジュール感"を意識して書くこと。
とあった。
議事録を作成しながら自身で気がついていた点であった。
あとは、すっぽかしてしまっていた内容が二つ。。
言われたら思い出す。
そんなこんなの反省を生かしつつ、
今日は初日よりかは上手く書けたでしょう。(主観)
会議参加の二日目にして、進行をやってみないかとのこと! 驚
。。。
続く