検索結果
DB
- 全てのカテゴリ
- 全ての質問
- HashSetのremoveで例外発生します
JavaでObjectの保存メソッドを作成したのですが、「java.util.ConcurrentModificationException : null」が発生します。 処理としては、引数のObjectが持っている情報(リスト)と本来登録すべきデータリストを照らしあわせ、追加する必要があるものはaddオブジェクトに削除する必要があるものはdelオブジェクトに残すようにし、最終的にDBデータの追加、削除を実行しています。 おそらく、delHogeIdSet.removeの記述の問題なのではと思ってはいるのですが、改変する良い方法がわかりません。 Hash自身をチェックしてremoveするならiteratorでよいのかもしれませんが、チェックする対象は別オブジェクトなので。。。 removeするたびに各Hashをチェックしてremoveするメソッドを別に作ることでも実現できるかもとは思っていますが、あまりスマートじゃないように思うのです。 上のような方法しかないでしょうか?? 他に良い方法があれば教えていただけないでしょうか。よろしくお願いします。 @Override public void saveObject(ObjectDto objectDto) { Object object = objectDto.object; objectDao.saveOrUpdate(object); // DB登録済みのObjectHogesのHogeを削除用リストとしてセットしておく HashSet<Long> delHogeIdSet =null; delHogeIdSet = objectHogeDao.geHogeIdSetByObjectId(object.getObjectId()); // ObjectのHogeSetからセットすべきのHoge一覧を取得する List<HogeSetHoge> hogeSetHogeList = hogeSetHogeDao.loadByHogeSet(object.getHogeSet().getHogeSetId()); // 追加用Hogeリストをセットしておく HashSet<Long> addHogeIdSet =null; addHogeIdSet = hogeSetHogeDao.getHogeIdSetByHogeSetId(object.getHogeSet().getHogeSetId()); if(object.getObjectHoges() != null){ // ユーザのHogeを順にチェック for(ObjectHoge objectHoge : object.getObjectHoges()){ // セットすべきHoge一覧と比較 for(HogeSetHoge hogeSetHoge : hogeSetHogeList){ // ユーザのHogeと登録が必要なHogeを比較 if(hogeSetHoge.getHoge().getHogeId() == objectHoge.getHoge().getHogeId()){ // dbに登録されている場合は削除リストならびに追加リストからはずす delHogeIdSet.remove(hogeSetHoge.getHoge().getHogeId()); addHogeIdSet.remove(hogeSetHoge.getHoge().getHogeId()); } } } // delObjectHogeListをDBから削除する if(delHogeIdSet.size() > 0){ for (Long hogeId : delHogeIdSet){ // objectHogeDao.deleteByHogeId(hogeId,object.getObjectId()); } } // addHogeIdSetをDBに追加する if(addHogeIdSet.size() > 0){ for (Long hogeId : delHogeIdSet){ ObjectHoge objectHoge = new ObjectHoge(); objectHoge.setObject(object); Hoge hoge = hogeDao.findById(Hoge.class, hogeId); objectHoge.setHoge(hoge); objectHogeDao.saveOrUpdate(objectHoge); } } }
- ラジオボタンでデータを受け取り、cssを変更
ラジオボタンで選択されたデータを受け取り、cssを変更( 上書きコピー )をする プログラムを構築していますが、valueの値を変数として受け取るには どの様にすれば良いのでしょうか? 現在この様なソースになっています。 ↓↓ ▼HTMLソース <form method="POST" action="back_color.php" enctype="multipart/form-data"> <input type="radio" name="fname1" value="green">green<br> <br> <input type="radio" name="fname2" value="black">black<br> <br> <input type="submit" value="背景色を変更する" name="act"> </form> ------------------------------------------------------------------------------ ▼PHPソース // コピー元ファイル名(green) $fname1 = "./".cnv_enc($row["user_id"], $enc_disp, $enc_db)."/common/css/style_green.css"; // コピー先ファイル名 $fname_to = "./".cnv_enc($row["user_id"], $enc_disp, $enc_db)."/common/css/style.css"; // ファイルをコピーして完了メッセージを表示する if ($_POST["fname1"]){ (copy($fname1 , $fname_to)); echo "greenに変更しました。"; } //----------------------------------------------------------------------------- // コピー元ファイル名(black) $fname2 = "./".cnv_enc($row["user_id"], $enc_disp, $enc_db)."/common/css/style_black.css"; // コピー先ファイル名 $fname_to = "./".cnv_enc($row["user_id"], $enc_disp, $enc_db)."/common/css/style.css"; // ファイルをコピーして完了メッセージを表示する if ($_POST["fname2"]){ (copy($fname2 , $fname_to)); echo "blackに変更しました。"; } ------------------------------------------------------------------------------ 【 .cnv_enc($row["user_id"], $enc_disp, $enc_db). 】は、セッションを使用して認証処理を しているためです。 【 該当ユーザのディレクトリ/common/css/style_black.css 】という事ですので、 この質問については、関係ありません。。 問題は、 【 <input type="radio" name="fname1" value="green">green 】と 【 <input type="radio" name="fname2" value="black">black 】だと もちろん複数選択出来てしまいますので、 【 <input type="radio" name="fname" value="green">green 】と 【 <input type="radio" name="fname" value="black">black 】にすると、 PHP側での変数名等をどの様に扱ったら良いのかが分かりません。 「 valueの値を変数として受け取る( 処理する ) 」という考え方自体が 間違えているのでしょうか? 色々調べましたが、中々解決できずに悩んでいます。 PHPのバージョンは5.1.6です。 どうかご教授いただけますでしょうか? よろしくお願いいたします。
- sendmailでSMART_HOSTを設定してもリレーされない
内部ネットワーク(linux01:192.168.1.1, linux02:192.163.1.2)でlinux02からメールをlinux01経由でインターネットに送ろうとしています.しかし $ mailq /var/spool/mqueue (1 requests) ----Q-ID---- --Size-- -----Q-Time----- ------------Sender/Recipient------------ ************ 0 Tue Apr 24 14:40 username (host map: lookup (outerdomain.ne.jp): deferred) name@outerdomain.ne.jp となってキューから出て行きません. linux01ではインターネット側にあるDNSサーバが引けますが,linux02からはDNSサーバは引けない設定にしています. ネットで調べた感じだと,DNSが引けなくてもSMART_HOSTの設定先にリレーされると思うのですが,うまくいきません. よろしくお願いいたします. OS:Linux version 2.4.29 (root@ita) (gcc version 3.0.4 (Red Hat Linux 7.2 3.0.4-1)) #4 SMP Fri Apr 15 10:02:15 JST 2005 sendmail Version 8.11.6 --- sendmail.mc in linux02 --- divert(-1) divert(0) include(`/usr/share/sendmail-cf/m4/cf.m4') VERSIONID(`linux setup for Red Hat Linux')dnl OSTYPE(`linux') define(`SMART_HOST',`[linux01]')dnl define(`confDEF_USER_ID',``8:12'')dnl undefine(`UUCP_RELAY')dnl undefine(`BITNET_RELAY')dnl define(`confAUTO_REBUILD')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST',true)dnl define(`confDONT_PROBE_INTERFACES',true)dnl define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl FEATURE(`no_default_msa',`dnl')dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl FEATURE(`accept_unresolvable_domains')dnl MAILER(smtp)dnl MAILER(procmail)dnl Cwlocalhost.localdomain --- --- /etc/mail/access in linux01 --- localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY linux02 RELAY ---
- ベストアンサー
- その他(ITシステム運用・管理)
- neco-zzz
- 回答数7
- MySQLの更新が固まってしまう(IEのみ)
Mysql+phpで日報システムを作っています。 独学でWebサイトの情報を見ながら作っているのですが、 更新系の処理に手間取っています。 環境は以下の通りです。 PHP:5.2.4 OS:WindowsServer2003 SP1 MYSQL:5.1.41 元画面から、ボタンを押してDBの更新処理を行うと、画面が真っ白になってしまい固まった状態になります。 MYSQLの問題かなと当初は思ったのですが、更新自体もされてはいますので、PHPの問題ではと思い投稿させて頂きました。 他の参照系のスクリプトは正常に動作します。 ちなみに、この現象はIEでしか出ません。 FFやChromeでは正常に動作します。 ポップアップブロックも外し、IEのアドインを全部外してみましたが、結果は同じでした。 同様の事態を経験された方、考えられる原因を御存じの方がおられましたら、コメント頂ければ幸いです。 更新スクリプトの内容は以下の通りです。 <?php // MySQL 接続 if (!($cn = mysql_connect("192.168.*.***", "user", "password"))) { die; } // MySQL DB 選択 if (!(mysql_select_db("mydatabase",$cn))) { die; } (中略) $SQL="UPDATE NIPPO SET = ***** "; (中略) print $SQL; // ***** この内容が出ずに固まっている ****** $sts = mysql_query($SQL,$cn); if (!$sts) { print "<br><img src='img/error.jpg' width=32 height=32>"; print "更新に失敗しました。"; print "<br><A HREF='javascript:history.back()'>前のページに戻る</A>"; } else { print "<br><img src='img/inf.jpg' width=32 height=32>更新しました。"; print "<br><A HREF='moto.php'>前のページに戻る</A>"; } } ?> </body> </html>
- 複数テーブルの結合及び評価させることは可能???
SQLで3つのテーブルを結合させた上に、データを評価させることは出来ますでしょうか?(SQL99準拠) イラストのようなテーブル構成になっています。 http://photozou.jp/photo/show/2140834/105850985 GAKUREKIテーブルのG_JISSEKISHUKEIの数とJISSEKIテーブルのS_CODEとS_SHOZOKUのデータをgroup byしてcountした結果を 付きあわせたいと思っています。 通常であれば、GAKUREKIテーブルとJISSEKIテーブルを結合して比較するだけで良いかと思うのですが、 GAKUREKIテーブルのS_SHOZOKUとJISSEKIテーブルのS_SHOZOKUが結びつけることができません。 JISSEKIテーブルのS_SHOZOKUと結びつけることが可能なデータは、SHAINテーブルのS_ICHINENMAESHOZOKUです。 このような結びつけをすることは出来ますでしょうか? いろいろ試してみたのですが、テーブルを複数くっつけるとエラーになる?のでしょうか・・・? ちなみにこのイラスト上のデータでデータを評価した場合、 GAKUREKIテーブルのS_CODEが、「1005」、G_JISSEKISHUKEIが「2」にも関わらず、 JISSEKIテーブルのS_CODE「1005」とS_SHOZOKU「ZZZ」のデータをgroup byしてcountした結果が、「1」のため不適切なデータと 言えます。 (※JISSEKIテーブルのS_CODE「1005」とS_SHOZOKU「S02」のデータの場合は問題なし) 複雑条件になってしまいますが、SQL単体で可能でしょうか? もしくは、何か別ソリューションを用いたほうが良いのでしょうか・・・ 対象DBはOracle10gです。(ちなみに普段はOra使用ですが、評価DBとしてそれぞれ最新版のSQLserver、MySQL、DB2、HiRDBを使ってみています。構文も変わりますか?)
- CGI(Perl)で、Javascriptを用いWEBアプリケーション
CGI(Perl)で、Javascriptを用いWEBアプリケーションを作成しています。 やりたいことは、親子関係(2階層)の2つのプルダウンの作成です。 親のプルダウンを選択すると、 子のプルダウンのリストの内容が、絞り込まれるようにしたいのです。 コマンドボタン(<INPUT type="button"・・・)でsubmit()を使うとうまくいったのですが、 画面全体がリフレッシュされるため、他の入力中の項目がクリアされてしまいます。 javascriptを使って解決したいのですが、行き詰っています。 どうかお知恵をお貸しください。宜しくお願いします。 なお、2つ(親子)のプルダウンのアイテムリストは、 mdbファイル(db1.mdb)で2つのテーブルで用意して、 SQL(select文)で呼び出すようにしてます。 2つのテーブルは、以下のような感じです。 talbe1(親用) ========================== kuni ------------------------ 日本 米国 中国 : ========================== talbe2(子用) ========================== kuni toshi ------------------------ 日本 東京 日本 横浜 日本 名古屋 日本 大阪 米国 ワシントン 米国 ニューヨーク 米国 ロスアンゼルス 中国 北京 中国 上海 : : ========================== なお、submitを使ってうまくいった時のソース(aaa.cgi)は、 以下のような感じです。 <aaa.cgi> ↓===================================================== : $oya=$input_data{'oya'}; <FORM name="form1" method="POST" action="aaa.cgi"> <SELECT name="oya"> EOM $rs = $db->Execute("SELECT table1.kuni FROM table1"); while (!$rs->EOF) { print "<OPTION>",$rs->Fields('kuni')->Value,"\n"; $rs->MoveNext; } print <<EOM; </SELECT> <INPUT type="button" value="→" name="sub1" onclick="submit();"> <SELECT name="ko"> EOM $rs = $db->Execute("SELECT table2.toshi FROM table2 WHERE (((table2.kuni)=$oya))"); while (!$rs->EOF) { print "<OPTION>",$rs->Fields('toshi')->Value,"\n"; $rs->MoveNext; } print <<EOM; </SELECT> : ↑===================================================== よろしくお願いします。
- ベストアンサー
- JavaScript
- asakichi00
- 回答数5
- EXCELVBAでADOにてデータ更新(削除)がうまくいかない。
EXCELファイル(DB.XLS)とEXCELファイル(入力.XLS)を用意し、入力.XLSからデータベース.XLSへ更新処理を行いたいのですが削除処理がうまくいきません。 現状はADOにて表示、追加、修正、削除をしようと考えており下記記述(1)で削除処理を書いているのですが「クエリーが複雑すぎます。」エラーが発生しています。 又、別削除処理としてDim MYCMD As ADODB.CommandからMYCMD.CommandText = "DELETE FROM [データベース$] WHERE 日付 = " & Range("D4")でMYCMD.Executeしても行削除ができません。 これはhttp://support.microsoft.com/default.aspx?scid=kb;ja;257819にも記載があるように仕様なのかもしれませんが・・・ ただ、Worksheets("データベース").Rows(2).Deleteのように同一のブック内にデータベースがあれば削除可能でした。 別ファイル(DB.xls)の行削除はできないのでしょうか?特にADOでなくてもかまいませんが、できるだけOS側の設定は手動設定させたくないです。 OS:WindwsXP SP2 ソフト:Microsoft Excel2003 ※表示(select)、追加(.AddNew)は下記記述(1)と少し異なりますが可能でした。 ''入力.XLSの記述(1) ''**********削除処理2 ADO[Microsoft.Jet.OLEDB.4.0] クエリーが複雑すぎますのエラー Dim strCn As String Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim test_sql As String strCn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & ThisWorkbook.Path & "\DB.xls;" & _ "Extended Properties=Excel 8.0" Set cn = New ADODB.Connection cn.Open strCn Set rs = New ADODB.RecordsetEXCEL With rs .CursorLocation = adUseClient .Open "Select * from [データベース$]", cn, adOpenStatic, adLockOptimistic Do test_sql = "日付 = " & Range("D4") rs.Find test_sql If rs.EOF = True Then Exit Do rs.Delete 'ここでエラー Loop .Update .Close End With Set rs = Nothing cn.Close Set cn = Nothing ''***********
- 締切済み
- その他(プログラミング・開発)
- poppin_t
- 回答数1
- PHP+MySQLのショッピングカートについて
PHP+MySQLのショッピングカートについて 宜しくお願いします。 PHP4.4.1+MySQL4.1.15でショッピングサイトを構築しております。 このサイトはPCと携帯に対応させるように構築しております。 携帯でも購入出来る様にする為に、カートはCOOKIEでは無く、SESSIONに依存しております。 ユーザが商品を選択すると、SESSIONに商品IDや、ユーザの選択した内容が格納されます。 複数の商品ID、選択内容を格納させる為に多次元配列にて格納しております。 買い物が終わり決算する時に、個人情報を入力し、確認ページ表示後にMySQLのDBに個人情報と選択項目をそれぞれinsertしていきます。 商品情報については、カートに入れた商品数分を繰り返し処理を行い、1レコードずつinsertしていきます。 MySQLのDBに書き込み後、自動返信にてメールを店舗とユーザに送信しています。 この様なシステムで、問題が発生しております。 決算後、個人情報、商品情報が欠落している場合があります。DBにも自動返信メールにも明記されず、スッポリ無くなっているのです。 それも、全データではなく、個人情報の電話番号だけとか、商品情報の選択項目の1つだけといった具合です。 毎回ではなく、ときどき現れます。 これはプログラムの問題なのでしょうか?それとも、サーバの処理能力の問題で、同時アクセス時に起きている現象なのでしょうか? 私の環境下では何度テストしても現象が現れない為に、原因が分からず悩んでおります。
- さくらサーバでの文字化け
以前にも質問をさせていただいたのですが解決しなかったので再度投稿させていただきます。 下記環境にて携帯サイトを作成しております。 さくらレンタルサーバ(スタンダードプラン) MySQL 5.1(2010-12-15時点で最新のもの) PHPコード UTF-8 ver.5.2.14 テンプレートコード UTF-8 smarty使用 $hoge = mb_convert_encoding( $hoge, 'SJIS-win', 'UTF-8' ); $smarty->assign ( 'contents', $hoge ); 上記のような感じでsmartyにアサインする変数をUTF-8からSJIS-winに変換して表示するようにしています。 テンプレート表示周りは問題ないのですが、DBからSELECTしたデータや、新たにINSERTするデータが"??"という感じで文字化けを起こしてしまいます。 なお、INSERTにつきましては、フォームから受け取るデータを $query = mb_convert_encoding( $_GET[$value], 'UTF-8', 'SJIS-win' ); といった感じでUTF-8に戻しております。 また、PDOを使用しておりますので、SET NAME(セキュリティ上NGなようなのでそもそも使用したくない)、mysql_set_charset()を入れる場所がわからず。。 ちなみにteratermから見たDBのコードが… Server characterset: ujis Db characterset: utf8 Client characterset: ujis Conn. characterset: ujis となっています。 \C utf8と打ち、Server charcterset以外はutf8にできるのですが、一度terminalを切りまた確認するとujisに戻ってしまいます。。 ※phpMyAdminで見ると照合順序:utf8_general_ci、MySQLの文字セット:UTF-8 Unicode(utf8)と表示されております。 諸々調べたのですが、現状上記環境を使用している以上、UTF-8での作成は不可能なのでしょうか? ご教示いただけますよう何卒宜しくお願い致します。
- POSTでセレクトフォームの値を渡す
こんにちは。初めて質問させていただきます。 過去ログを検索して似たような内容の投稿は読んだのですが、どうにも自分がやりたいことへの応用が利かないため投稿させていただきました。環境はPHP4.3.2 DBはMYSQLを使用しています。 やろうとしていることは、入力フォーム上(index.phpとします)で任意(セレクトフォーム)でテーブルを選択し、その選択したテーブルにセレクトフォームの下にあるテキストフォームの値を挿入しようと考えています。 引っかかっている部分はセレクトの値の部分です。(テキストの方はテーブルを固定すると問題なかったので省略します) <<index.php>> <form action="inputdata.php" method="post"> <select name="dblist"> <? $mysql = mysql_connect(SERVER,USER,PASS) or die ("MYSQLに接続できませんでした\n"); mysql_select_db(DB,$mysql) or die ("データベースの接続に失敗しました\n"); $dbresult = mysql_query("SELECT * FROM listtable", $mysql); while($row = mysql_fetch_assoc($dbresult)){ echo "<option value='{$row['list_tb']}'>{$row['list_name']}"; } mysql_close($mysql); ?> </select> //これより下にテキストが入りますが省略します </form> 上記のような渡し方の場合、受け取る側(inputdata.php)を $table = $_POST['dblist']; と書いているのですが、echoで$tableを表示してもなにも表示されませんでした。(nullでした) 受け取り側(inputdata.php)の書き方が悪いのでしょうか?それともそもそもの渡し方(index.php)が悪いのでしょうか? 基礎的なことかもしれないのですが、適切な受け渡し方法があれば教えてください。よろしくお願いします。
- 中古の減価償却費について
中古の減価償却費の関数がわかりません。 現在、定額法については、SLN関数を使い、定率法についてはDB関数を使っています。 勉強不足ですが宜しくお願い致します。
- sonic stage 保存場所
NWに付属しているsonic stage Ver1.5 でatrackplus3形式で保存するみたいですけど 保存先がメディアDBといわれましてもどこに保存されているか わかりません。 教えてください。
- ベストアンサー
- その他(インターネット・Webサービス)
- fm0606
- 回答数1
- アプリに検索機能を実装するには
iphone・androidアプリを製作中です。 チェックをつけた条件に基づいてDBから検索する機能を 実装したいのですが、良いサンプルコードなどはありませんでしょうか? 以上、何卒よろしくお願いいたします。
- ベストアンサー
- アプリ開発
- noname#213637
- 回答数1
- 日本版アベンジャーズを作るとしたらメンバーは?
アメリカのアベンジャーズに対抗できそうな和製アベンジャーズを作るとしたら、メンバーは誰にしますか?(漫画、アニメ、実写問わず)。 私なら、孫悟空(DB)、ウルトラマンジード、ドラえもん、仮面ライダーカブト、超天元突破グレンラガンあたりでしょうか
- 於工場被害
於工場被害って何ですか。 関東大震災について調べていたらのっていました。 ご回答、お願いします このURL↓に載っていました http://www.himoji.jp/database/db06/relief.html
- 締切済み
- 日本語・現代文・国語
- noname#101925
- 回答数1
- インテグラのVベルト交換について教えてください。
DB8インテグラタイプRのVベルト類(エアコン、パワステ、オルタネーター)を自分で交換しようと考えているのですが、交換の方法・手順があまり良く分からないので、どなたか教えてください。よろしくお願いします。
- 【バッチ】shからOracleに接続
「シェル(sh)からOracleに接続できない場合にエラーログを出す」処理 をシェルスクリプトで書きたいのですが、どう書けばいいかご存知の方 はおられますか? OS:solaris シェル:sh DB:Oracle10g
- ベストアンサー
- その他(プログラミング・開発)
- noname#30874
- 回答数1