[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/16 17:55 / Filesize : 176 KB / Number-of Response : 928
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

SQL文をハードコーディングするやつはとっとと氏ね



1 名前:仕様書無しさん [2007/02/07(水) 01:32:56 ]
って思う

268 名前:仕様書無しさん mailto:sage [2007/02/17(土) 18:32:09 ]
ADO.NET使いはこのスレにいるかい

269 名前:仕様書無しさん mailto:sage [2007/02/17(土) 20:02:37 ]
おジャバ様のすくつにそんな人いません><

270 名前:仕様書無しさん mailto:sage [2007/02/17(土) 20:17:59 ]
>>268


後輩に何度ヤメレと言っても、>>250のような書き方を改めてくれない。
上司じゃないから強制は出来んしなぁ・・・会社辞めるときヌッコロス

271 名前:仕様書無しさん mailto:sage [2007/02/17(土) 21:58:39 ]
>>270
おまいさんはどういうふうに書いて(処理して)るんだい?

272 名前:仕様書無しさん mailto:sage [2007/02/17(土) 23:29:32 ]
>>271
確かに知りたいよなぁ...。素のCでSQLのオンコーディングする時、
うちは
strcpy(acSql,
" SELECT"
 " col_a"
 ",col_b"
" FROM"
 " sample_table"
" WHERE"
・・・
);
てな感じで埋め込んでるが、もっとマシな手段ないかなぁ。


273 名前:仕様書無しさん mailto:sage [2007/02/17(土) 23:35:41 ]
>>272
どんな環境なのか知らんけど、これだとSQLインジェクションし放題じゃない?

274 名前:仕様書無しさん mailto:sage [2007/02/17(土) 23:39:07 ]
>>272
少なくともsprintf的な書き方をした方が・・・。
そうすれば、sql文を別ファイルなり、データベースなり、リソースなり、どこにでも置ける。
strcpyとかstrcatでくっつける、ってのはキツイと思うよ。

275 名前:仕様書無しさん [2007/02/18(日) 00:07:09 ]
ストアドオンリーってのが一番いいのかな

276 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:12:01 ]
動的に条件が変わる場合のストアドはどう実装すれば……
条件毎にストアドつくる?




277 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:14:41 ]
>>275
以前はそう思ってたが、今はDBに実装載せるのはどうかと思う

278 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:16:44 ]
そういえばVBのプログラムで
1.Accessのmdbファイルを一個用意
2.mdbファイルにリンクテーブル作りまくり
3.クエリも作りまくり(パラメータクエリ・更新クエリetc)
4.VBからmdbのクエリ呼ぶ
っていうのを見たことがあったなあ。
クエリでOracleとSQLServerとMySQLを連結したりとか。

279 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:18:45 ]
>>276
WHERE句とかの話なら、パラメータや引数であかんの?

280 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:19:47 ]
>>278
一時的なデータ編集用ならありかもしれないけど、
恒常的に使うシステムとしては脆弱すぎ。

281 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:20:46 ]
>>277
その心は?
いろんな事情があるかもしれないけど、参考にお聞かせ願いたい。

個人的にはどこに実装してもかまわんと思うけどね。
DBなんてそうそう換えるもんじゃないから、ストアドにぶちこんであとシラネでいいんじゃないかなー、なんて。

282 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:23:10 ]
SQLの書かれてるファイルなりリソースと
それを実行するソースが分かれてるのも
良くないと思う。

283 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:25:53 ]
>>280
激しく同意なんだけど病院で使われているという恐ろしい事実

284 名前:仕様書無しさん mailto:sage [2007/02/18(日) 00:29:58 ]
>>282
そうか?
個人的には関数の本体コードとそれを呼び出すコードが別ファイルにあるようなモンだと思うんだけど('A`)

285 名前:284 mailto:sage [2007/02/18(日) 00:34:18 ]
そうでもないような気がして来た

286 名前:仕様書無しさん [2007/02/18(日) 10:11:25 ]
動的にwhere句に現れるフィールドを変更したいって事?



287 名前:仕様書無しさん mailto:sage [2007/02/18(日) 10:34:02 ]
ストアドはデバッグしづらいから
速度がでないなどの問題がない限り使わないで欲しい。

288 名前:仕様書無しさん mailto:sage [2007/02/18(日) 10:51:10 ]
>>287

禿同
使うにしても30行ぐらいまででお願い。

289 名前:仕様書無しさん [2007/02/18(日) 11:16:56 ]
パラメータ使うに決まってるだろうがハゲ学生が

290 名前:仕様書無しさん mailto:sage [2007/02/18(日) 12:16:47 ]
一つのシステムで完結するなら良いけど,
Webシステムでオンラインユーザからの更新と,
クラサバのVB製システムから更新が同時に入ったりする
古くて大規模なシステムだと,
結局ロジック部分をストアドプロシージャでまとめるしか無かったりする.

まぁストアドが全般的にデバッグとかしにくいってのは禿同

291 名前:仕様書無しさん mailto:sage [2007/02/18(日) 17:58:56 ]
あー
クライアントの種類が1つじゃない場合には有利か

まぁストアドが全般的にデノ

292 名前:仕様書無しさん mailto:sage [2007/02/18(日) 21:30:02 ]
>>271
SQLはXMLの中に書いて自動生成させてるだよ。(環境がVB.NET+ADO.NETなもので

準備済みSQL使えというてるのに、
わざわざ>>250のような書き方でSQLインジェクションの穴作ってくれるの…('A`)

293 名前:仕様書無しさん mailto:sage [2007/02/18(日) 22:13:48 ]
普通に結合度の高さを判断して高いと思われるほうにくっつけるだよ

294 名前:仕様書無しさん mailto:sage [2007/02/18(日) 22:44:46 ]
あー、用意されてんならそれ使うべきだね

295 名前:仕様書無しさん mailto:sage [2007/02/18(日) 23:31:46 ]
外部結合とかサブクエリのSQL自動生成出来るの?

296 名前:仕様書無しさん mailto:sage [2007/02/19(月) 00:54:28 ]
SQL自体を変えること自体があんまりないような気がするんだが……
ハードコーディングしてもしなくても大差ないんじゃね?



297 名前:仕様書無しさん mailto:sage [2007/02/19(月) 01:10:25 ]
>>295
できるけど、できたらそれ使うか?
そういう問題じゃない気が。。

298 名前:仕様書無しさん mailto:sage [2007/02/19(月) 01:36:52 ]
複雑なSQLが必要な場面って
大抵システムのボトルネックになるから人力で調整が必須なものなんだよね。

299 名前:仕様書無しさん [2007/02/19(月) 07:01:13 ]
SQLで苦労するって
テーブル構成が糞なんじゃないかと

300 名前:仕様書無しさん mailto:sage [2007/02/19(月) 18:03:43 ]
データ取得 → Viewつくって一発
データ更新 → ストアドつくって一発

ベタでいいじゃん

301 名前:仕様書無しさん mailto:sage [2007/02/19(月) 22:31:22 ]
>>300
原則これだよね。

302 名前:仕様書無しさん mailto:sage [2007/02/19(月) 22:52:49 ]
だから、Viewは、遅いと(ry 
ループですな

303 名前:仕様書無しさん [2007/02/19(月) 23:13:44 ]
viewならびゅーっといきそうなもんだが

304 名前:仕様書無しさん mailto:sage [2007/02/19(月) 23:17:09 ]
viewより手組の方が早いと考えるのは素人

305 名前:仕様書無しさん mailto:sage [2007/02/19(月) 23:18:18 ]
>>300
View作って取得すると実際はどのテーブルにどのデータが入ってるのか
ってのが分かりにくいからあんまり好きじゃないんだよなー。

中途半端に計算された値とかも入ってると保守のとき泣ける。

まぁ、結局テーブル設計がクソって所に帰着する事が多いが。

306 名前:仕様書無しさん mailto:sage [2007/02/19(月) 23:48:37 ]
viewはorder byできないじゃない。



307 名前:仕様書無しさん [2007/02/19(月) 23:50:00 ]
>>306
ウソツケ

308 名前:仕様書無しさん mailto:sage [2007/02/19(月) 23:54:57 ]
>>300
どういう論理展開なんだ?

309 名前:仕様書無しさん mailto:sage [2007/02/20(火) 00:12:27 ]
>>306
SQL自体を勉強しなおしてから出直せ。

310 名前:仕様書無しさん mailto:sage [2007/02/20(火) 08:04:32 ]
>>306
神降臨

311 名前:仕様書無しさん mailto:sage [2007/02/20(火) 11:37:59 ]
>>298
既存のパッケージ品をカスタマイズして使わされる時も複雑になるね。
汎用機時代のファイル構造をそのままRDBに入れ直(ry

>>302
ビュー遅いか?
元のテーブル構造が悪いと思うが……。
あるいはちゃんと結合できてないとか。

>>305
俺もあまり好きじゃないけど、設計書みればわかるから問題になったことはないなあ。
元テーブルの構造を隠蔽して単純化できるからその点は好き。

>>306
使ってるDB教えてくれ。

>>308
俺も思った。
ビューとストアドを使うのはいいが、ベタ書きする理由にはならんよな。

さてメシ食ってこよう

312 名前:仕様書無しさん mailto:sage [2007/02/20(火) 12:41:23 ]
自己主張が強いな。

313 名前:仕様書無しさん [2007/02/20(火) 13:48:07 ]
iBatisみたいにSQL外に出てると、後のSQLレベルの
チューニングがDBエンジニアだけでできて楽ちん。

314 名前:仕様書無しさん [2007/02/20(火) 15:30:41 ]
それはiBatis使わないとできないのか?

315 名前:仕様書無しさん mailto:sage [2007/02/20(火) 16:19:48 ]
>>311
>>308はベタ書きじゃなくて、ベタな(一般的な)手法という意味じゃなかろうか。

316 名前:仕様書無しさん [2007/02/20(火) 16:44:22 ]
>>313
DBエンジニアがいればいいけどな。。。



317 名前:仕様書無しさん mailto:sage [2007/02/20(火) 18:32:42 ]
社内ルールでストアドはおろかビューも使えません
理由は「俺が知らないから(by上司)」
ORマッピングツールなんて夢のまた夢さ


318 名前:仕様書無しさん [2007/02/20(火) 20:31:32 ]
それは正しい

319 名前:仕様書無しさん mailto:sage [2007/02/20(火) 22:04:29 ]
>>317
ストアドはまだ許す。代替手段があるし、知らん言語は知らんだろうと。
だが、View程度で投げるな。orz...

320 名前:仕様書無しさん mailto:sage [2007/02/20(火) 22:21:35 ]
viewってテーブル構成が糞だと
updateできなかったりなんだりでもうワケワカメじゃん

だから使わないほうがいいのさそう言う会社では

321 名前:仕様書無しさん mailto:sage [2007/02/20(火) 22:31:17 ]
ハードコーディングならハードコーディングで統一してほしかったな、ウチのプロジェクト……
いろんな手法が混ざってんのは最悪だよ。
ハードコーディング派の中でも>>250みたいな書き方する奴とプレースホルダ使う奴と……

スマン愚痴になってしまった

322 名前:仕様書無しさん mailto:sage [2007/02/20(火) 22:36:54 ]
>>321
俺のかかわったプロジェクトにいたっては、
そのほかに、長文Viewを書く奴と、ストアドでカーソル駆動する奴と、
何を狂ったか、RecordSetを一旦テキストファイルに落として操作する奴が
いたわけだ。

323 名前:仕様書無しさん [2007/02/20(火) 23:19:53 ]
>RecordSetを一旦テキストファイルに落として操作する奴

それはさすがにネタだろ?

324 名前:仕様書無しさん mailto:sage [2007/02/20(火) 23:35:02 ]
>>323
ワークテーブルならぬワークファイル、しかも固定長だよ。
奴がコボラだったから、テキストファイルを操作するほうが具合よかったそうだ。

325 名前:仕様書無しさん mailto:sage [2007/02/21(水) 05:47:32 ]
どうりでウチのシステムのcronにrm -rf /var/hogehogeとか入ってるわけだ


326 名前:仕様書無しさん mailto:sage [2007/02/21(水) 07:33:17 ]
>>324
おつかれ



327 名前:仕様書無しさん mailto:sage [2007/02/21(水) 11:54:04 ]
>>317
うちも全く同じだったので、上司と血を見るほどの大げんかをしてしまった。
こちらが完全に理論武装してパフォーマンス比較までレビューしたせいか、涙を浮かべて逆ギレされた。
しまいには「その比較実験は完全に捏造だ!」とまで言われ、そのせいで処分まで受けてしまった。


328 名前:仕様書無しさん mailto:sage [2007/02/21(水) 12:10:58 ]
>>327は実にバカだな。

329 名前:仕様書無しさん [2007/02/21(水) 12:25:41 ]
>>327
馬鹿かぁーーー!!
お前かーーーー!!

あのあと大変だったんだぞーーーー!!!

そういうときはだな、先輩と上司と一緒に
内々で三人で先にレビューしてだな、上司に
提案させるんだよ!!!!

もう、未だにお前の件で俺が色々やってんだぞーーー!!

まぁ、次ぎ合った時に風俗おごってくれ。

330 名前:仕様書無しさん mailto:sage [2007/02/21(水) 12:28:58 ]
>>327
バカな奴だ。329が正解だよ。

331 名前:仕様書無しさん mailto:sage [2007/02/21(水) 12:49:12 ]
>こちらが完全に理論武装してパフォーマンス比較までレビューしたせいか、
何が嬉しくてここに書き込るのか知らんが、上司の顔を潰すことを目的にプレゼンしたんだろ。
逆切れしてるのは>>327じゃないの?
ここまで空気を読めないヤツよりは、>>322の一番最後のコボラの方がマシな気がする。

332 名前:仕様書無しさん mailto:sage [2007/02/21(水) 14:11:44 ]
ケンカはダメ!みんな仲良くしよ♪

333 名前:仕様書無しさん mailto:sage [2007/02/21(水) 15:05:58 ]
アホ上司は、アホだが上司だからな
理論武装と同じ程度の会社組織を壊す覚悟が必要だったな

334 名前:仕様書無しさん mailto:sage [2007/02/21(水) 15:09:40 ]
こういうやつは客に対しても同じことしそうだ。
購入した備品にけちつけてみたり。

335 名前:仕様書無しさん [2007/02/21(水) 15:53:57 ]
327の能力は評価するが
一緒には仕事したくないタイプ

336 名前:仕様書無しさん mailto:sage [2007/02/21(水) 16:28:25 ]
>327の人気に嫉妬



337 名前:仕様書無しさん [2007/02/21(水) 17:04:57 ]
ひあああああっ……!あああン!もうっ、もうダメぇ……!イっちゃう……!イっちゃ
う、イっちゃう、イっちゃう、イっちゃあひいいいいいいいいッ!イくうっ!そんなにされ
たらすぐイっちゃうよぉーっ!ああああああ!イク、イク、イク、イク、イク、イクッ!あ
っ、熱いい〜ッ!ああああああ!イクうッ!イクイクイクイクっ!イクうううううううううう
う〜!あああああああぁ……!あうっ……ああああ……イクう……あひいいいいいい
いぃ……!はへええええ!イグっ!イグうっ!イグイグイグイグ!イグーッ!あへ!
はへえっ!ひゃひいいいい!に、妊娠しちゃうっ!妊娠しちゃうううゥ〜!気持ちイイ
ぃ〜!妊娠キモチイイよぉ〜!ああああああああ!妊娠しながらイグう!イグっ!イ
グうっ!イグうぅーっ!

338 名前:仕様書無しさん mailto:sage [2007/02/21(水) 17:09:39 ]
こんなところにまで任豚の魔の手が・・・!!
>>327はスレタイはとっとと氏ね

339 名前:仕様書無しさん [2007/02/21(水) 17:23:23 ]
これが世に言う「コミュニケーション能力の欠如」というやつかね。

340 名前:仕様書無しさん mailto:sage [2007/02/21(水) 17:34:07 ]
とっとさんって誰?

341 名前:仕様書無しさん mailto:sage [2007/02/21(水) 18:37:41 ]
まあそれまでにもいろいろあったんだろうよ
そこまで327を叩くなって
もっとまったりいこうぜ

342 名前:仕様書無しさん mailto:sage [2007/02/21(水) 21:44:44 ]
>>341

 こ
  と

343 名前:仕様書無しさん mailto:sage [2007/02/22(木) 01:26:31 ]
いま動いているシステムにバグが大量発生していてソースを色々見てるんだけど、
ガチガチにハードコーディングされてる上にDB構造の更新と整合性がとれていない・・・orz
すでに動いているからあんまり変えたくないんだけど、
やっぱりハードコーディングのままいく・・・のが無難かな?

え?上司や先輩に相談?
SQLとVBわかる人いないんですが・・・

344 名前:仕様書無しさん [2007/02/22(木) 12:15:22 ]
>>343
SQLやVBのコードを相談するんじゃなくて、

「ハードコーディングされてて更新と整合性がとれてないんですけど、これに合わせたほうがいいですか?
ちゃんと作り直すとバグは減ると思いますけど○○日くらいかかって、工数は××くらいになりますけど、
これってお客さんから保守で取れますか?」

とかを相談すればいい。

345 名前:仕様書無しさん [2007/02/22(木) 13:00:26 ]
>>344
おれは客の時は
そんなん、最初の時に全部しっかり言質とって設計確認してあるし
しかも、やってますっていってソースレビューさせてくんなかったよな!
って毎回言ってやってる。

だいたい半額以下に値切ります。保守費用俺が取ったりw


346 名前:仕様書無しさん [2007/02/22(木) 16:08:39 ]
>>345
納品物にソースが入っていればそういうことは言えなくなるし
実際に工数がかかるわけだから、イヤなら他に言ってください、で交渉決裂ってだけだね。




347 名前:仕様書無しさん [2007/02/22(木) 16:23:51 ]
>>346
まぁ、うち社長が経済ヤクザだからなw

348 名前:仕様書無しさん [2007/02/22(木) 16:27:19 ]
>>347
俗に言う「不良顧客」ってやつだな。
金払いが悪いなら用はないな。

349 名前:仕様書無しさん mailto:sage [2007/02/22(木) 16:53:43 ]
>>343
漏れの経験上、余程単純なシステムでない限り、
下手に修正を入れると、ドつぼにはまると思ひまふ。


触らぬ神にたたり無しです。

350 名前:仕様書無しさん mailto:sage [2007/02/22(木) 17:03:45 ]
技術者としては綺麗さっぱり修正したいが、ワーカーとしてはそんな金にならねえ癖に大変な事はやってる暇ねえと言う現実だ

351 名前:仕様書無しさん mailto:sage [2007/02/22(木) 18:03:31 ]
そういう意味ではハードコードは色々便利だなw

352 名前:仕様書無しさん mailto:sage [2007/02/22(木) 18:08:02 ]
>>351
どういう意味だw

353 名前:仕様書無しさん mailto:sage [2007/02/22(木) 18:56:12 ]
言ってみたかったw

354 名前:仕様書無しさん mailto:sage [2007/02/23(金) 01:23:29 ]
ハードコーディングをSQLServerで
パラメータ部分を ' を '' に変換してたら
SQLインジェクションなんて全然関係ない
ハードコーディング万歳

355 名前:仕様書無しさん [2007/02/23(金) 07:31:33 ]
エスキューエルハードコーディング
相手は死ぬ

356 名前:仕様書無しさん mailto:sage [2007/02/23(金) 07:34:02 ]
ハードコーディング自体を嫌うのは、
コンパイラーが死ぬほど、遅かった時代の爺だけだと思われ。



357 名前:仕様書無しさん mailto:sage [2007/02/23(金) 07:40:07 ]
インデックス張るの忘れてたw
特に何も言われないので、バージョンアップのたびに小出しにしてやろう。

358 名前:仕様書無しさん [2007/02/23(金) 08:18:36 ]
SQL外出しのなにが嬉しいのかさっぱりわかんね。
中出しで十分。

359 名前:仕様書無しさん [2007/02/23(金) 08:56:58 ]
ビジュアル的には外出しの方が萌えね?

360 名前:仕様書無しさん mailto:sage [2007/02/23(金) 11:14:40 ]
中出しの方が自然だろ

361 名前:仕様書無しさん mailto:sage [2007/02/23(金) 14:23:41 ]
>>5
外に出しても大差ないだろ

362 名前:仕様書無しさん mailto:sage [2007/02/23(金) 14:51:17 ]
ちゃんとつけないとな。

363 名前:仕様書無しさん mailto:sage [2007/02/23(金) 15:03:05 ]
いい流れですね

364 名前:仕様書無しさん [2007/02/23(金) 17:26:49 ]
市販のプロテクトを信用してると
穴が開いてることがあるぞ。

365 名前:仕様書無しさん [2007/02/23(金) 17:53:44 ]
お前ら、中出しだの外出しだの穴だのいい加減にしろよ

366 名前:仕様書無しさん mailto:sage [2007/02/23(金) 18:18:35 ]
要するに、>>365はお口に出して欲しい。ということだな?



367 名前:仕様書無しさん mailto:sage [2007/02/23(金) 19:27:58 ]
>>343
これ見て思い出したんだが、昔、とんでもないシステムの改修させられたな。

当時アクセス2000がすでに主流の時代にアクセス2.0だかなんだかで作られた
システム(そのこと自体は別にいいんだが)で、

なんか日付がずれるっつーからソースを見てみたら、
全ての月が31日である、という前提でソースが書かれていた。
そりゃお前、1月や3月はいいが、2月や4月になるとズレるわな。
その他いろいろなバグ、バグ、バグ・・・

こんなもんどう考えても修正不可ってんで、結局その改修はウヤムヤになった。


368 名前:仕様書無しさん mailto:sage [2007/02/23(金) 21:42:24 ]
>>367
似たようなので、「全ての年は月曜から始まる」って前提のソースがあったw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<176KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef