!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part142
https://mevius.5ch.net/test/read.cgi/tech/1551908141/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8861-gZI7)
2019/05/16(木) 19:28:06.27ID:s+6oZKe00474デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/16(日) 01:52:02.63ID:z9IiVZ7F0 C# は、面倒だな
Ruby の式展開(interpolation)では、
ダブルクォート文字列内に、#{式} で書くと、式の結果を文字列に変換してくれる
puts "a は #{ a }, b は #{ b }"
Ruby の式展開(interpolation)では、
ダブルクォート文字列内に、#{式} で書くと、式の結果を文字列に変換してくれる
puts "a は #{ a }, b は #{ b }"
475デフォルトの名無しさん (ワッチョイ a3e7-LWcw)
2019/06/16(日) 02:00:09.86ID:yJ9OuDHU0476デフォルトの名無しさん (ワッチョイ 1aad-7FmS)
2019/06/16(日) 02:05:52.16ID:G7NVDdhd0 1つ上のレスくらい読んでくれよ…
477デフォルトの名無しさん (ワッチョイ 5b1a-vI2o)
2019/06/16(日) 02:12:46.91ID:WGBivVxV0 string interpolationは参考にしておいたサイトでは見たことがなく初めて知りました
確かに圧倒的に見やすいですね
varを使うことで必然的に型を指定して初期化することになるので、その辺りの宣言はしっかりしようと思います
ありがとうございました
確かに圧倒的に見やすいですね
varを使うことで必然的に型を指定して初期化することになるので、その辺りの宣言はしっかりしようと思います
ありがとうございました
478デフォルトの名無しさん (ワッチョイ 9738-cL4w)
2019/06/16(日) 02:40:38.10ID:G+0AwVAf0 Rubyの人 おかえりはこちらです
479デフォルトの名無しさん (ワッチョイ a363-V6AN)
2019/06/16(日) 02:49:49.58ID:U3MUj56p0 >>467
いいね!使ってみる。
いいね!使ってみる。
480デフォルトの名無しさん (ワッチョイ 3761-R62x)
2019/06/16(日) 05:00:17.20ID:wxDeKJDL0 interpolation 略して inpo
481デフォルトの名無しさん (ワッチョイ ba47-UiF5)
2019/06/16(日) 08:33:51.55ID:59NNwAx00 >>470
WebSocketとかSignalRとか使ったらサーバーからの通知対してにライブラリが適切なメソッドを呼んでくれるのでは
WebSocketとかSignalRとか使ったらサーバーからの通知対してにライブラリが適切なメソッドを呼んでくれるのでは
482デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 08:38:40.27ID:xspDtD2o0483デフォルトの名無しさん (アウアウウー Sac7-vI2o)
2019/06/16(日) 09:55:00.36ID:X9An2SCta484デフォルトの名無しさん (ワッチョイ 3e7c-jEB4)
2019/06/16(日) 12:12:22.08ID:NdAq/MEw0 >>480
+1
+1
485デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 12:20:15.94ID:xspDtD2o0 >>483
そう?APIアクセスにはこのHttpClient、リソースにはこのHttpClientって別けてると結構便利だけど。
デフォルトヘッダーつけたり、デフォルトのタイムアウトとかをそれ用に設定したりして。
URIなんかで適当に使い回されるのはちょっと使いづらくなるな。
そう?APIアクセスにはこのHttpClient、リソースにはこのHttpClientって別けてると結構便利だけど。
デフォルトヘッダーつけたり、デフォルトのタイムアウトとかをそれ用に設定したりして。
URIなんかで適当に使い回されるのはちょっと使いづらくなるな。
486デフォルトの名無しさん (ブーイモ MM7f-V6AN)
2019/06/16(日) 12:29:55.12ID:+FeN72guM staticなインスタンスを持つという行為がオブジェクト指向にそぐわないのだろう
487デフォルトの名無しさん (スププ Sdba-UiF5)
2019/06/16(日) 12:35:21.44ID:WIm6t9KAd じゃあDIによるシングルトンで
488デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 16:29:01.69ID:xspDtD2o0 >>486
それも変な話だけどなー。
staticなインスタンスなわけではなくて、環境に対してインスタンスがあるんじゃないのかな。
使い回すって、もしかして何もかものHttpClientを1つのインスタンスや、いくつか作って適当に余ってるインスタンスで賄ってるの?
少なくとも1ホスト1HttpClientで扱わないとよろしくなかったはず。
そういう意味では、完全にstaticな訳ではなくて、多分MVCならコントローラごとに、宛先ホストやデフォルトヘッダー別のHttpClientを持てば充分なので、特に長寿命になる訳でも、広範囲に露出する訳でも無いんじゃないかな。
毎回作るようなusingで囲む事をするのはよろしくないだけであって、適宜作ってDisposeする分には問題ないっしょ。
だからデストラクタでDisposeできるようにIDisposableなんじゃ?
それも変な話だけどなー。
staticなインスタンスなわけではなくて、環境に対してインスタンスがあるんじゃないのかな。
使い回すって、もしかして何もかものHttpClientを1つのインスタンスや、いくつか作って適当に余ってるインスタンスで賄ってるの?
少なくとも1ホスト1HttpClientで扱わないとよろしくなかったはず。
そういう意味では、完全にstaticな訳ではなくて、多分MVCならコントローラごとに、宛先ホストやデフォルトヘッダー別のHttpClientを持てば充分なので、特に長寿命になる訳でも、広範囲に露出する訳でも無いんじゃないかな。
毎回作るようなusingで囲む事をするのはよろしくないだけであって、適宜作ってDisposeする分には問題ないっしょ。
だからデストラクタでDisposeできるようにIDisposableなんじゃ?
489デフォルトの名無しさん (アウアウエー Sa52-rXk6)
2019/06/16(日) 17:56:30.01ID:yX0oMZwqa Disposeは要らんかった
惑わされる
惑わされる
490デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
2019/06/16(日) 17:59:45.19ID:IRiSsL3Z0 デリゲートのシリアライズについて色々試したところ、WindowsやUbuntuのCore.2.2ではデリゲートのシリアライズは可能でした
まさかMac版だけ違うとは・・・・
>>481
WebSocketについては全くわからないのですみませんが、Signalrは良さそうですね
まさかMac版だけ違うとは・・・・
>>481
WebSocketについては全くわからないのですみませんが、Signalrは良さそうですね
491デフォルトの名無しさん (オッペケ Srbb-vI2o)
2019/06/16(日) 18:56:40.91ID:ikomc5kEr >>488
絶対に一つのホストに対して非同期で複数接続しない?
変だろそれは?
普通に非同期処理やマルチスレッドなどを多用したところで複数接続することがあるだろ
ちゃんと管理しないとおかしなことになる
絶対に一つのホストに対して非同期で複数接続しない?
変だろそれは?
普通に非同期処理やマルチスレッドなどを多用したところで複数接続することがあるだろ
ちゃんと管理しないとおかしなことになる
492デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 19:03:24.48ID:xspDtD2o0 >>491
xxxxAsyncはだいたいスレッドセーフだよ。
xxxxAsyncはだいたいスレッドセーフだよ。
493デフォルトの名無しさん (ワッチョイ a31b-+7bl)
2019/06/16(日) 19:13:58.14ID:6Ugz9fj30 httpClientの設計がまずいのは周知の事実だろ
オプションとしてならいいけどさ
まともな通信用のクラスをなぜ作れんのだ
オプションとしてならいいけどさ
まともな通信用のクラスをなぜ作れんのだ
494デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 19:20:45.53ID:xspDtD2o0 んー、なんか俺の返事がズレてる気がする。
1つのホストの1つ用途に対して使い回すのは良いんだけど、
別のホストや別の用途に対して使い回すのは良くないんじゃないかな、って話で、
1つのホストの1つの用途に対して複数のHttpClientを使うのも、悪かないんじゃないの?限度があるけど。
そもそもHttpClientを毎回作ってはいけない理由が、インスタンスを立てるとソケットをopenしに行って、CloseしてもTIME_WAIT以降を待ってソケットがcloseするから、パフォーマンス的にもまずいしソケットが枯渇するって問題なんだし、
捨てないとDNSの変更が反映されない問題も避けれないんだから、LBとか考えると同一ホスト対象でもずっと使い回すより、処理粒度に合わせてインスタンス持つようにした方がいいんでないの、って要旨だった。
1つのホストの1つ用途に対して使い回すのは良いんだけど、
別のホストや別の用途に対して使い回すのは良くないんじゃないかな、って話で、
1つのホストの1つの用途に対して複数のHttpClientを使うのも、悪かないんじゃないの?限度があるけど。
そもそもHttpClientを毎回作ってはいけない理由が、インスタンスを立てるとソケットをopenしに行って、CloseしてもTIME_WAIT以降を待ってソケットがcloseするから、パフォーマンス的にもまずいしソケットが枯渇するって問題なんだし、
捨てないとDNSの変更が反映されない問題も避けれないんだから、LBとか考えると同一ホスト対象でもずっと使い回すより、処理粒度に合わせてインスタンス持つようにした方がいいんでないの、って要旨だった。
495デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 19:22:37.45ID:xspDtD2o0 >>493
結構まともな設計だと思うけどなぁ。
MSDN読んでない奴が安易にusingしたり、安易にずっと使い回すからいかんのでは?
そんなどうhttp接続を使うかみたいなビジネスロジック層の問題をフレームワークに求めるのは酷じゃ無いかな。
あくまでWindowsのソケットの実装としてはね。
結構まともな設計だと思うけどなぁ。
MSDN読んでない奴が安易にusingしたり、安易にずっと使い回すからいかんのでは?
そんなどうhttp接続を使うかみたいなビジネスロジック層の問題をフレームワークに求めるのは酷じゃ無いかな。
あくまでWindowsのソケットの実装としてはね。
496デフォルトの名無しさん (オッペケ Srbb-vI2o)
2019/06/16(日) 19:24:29.05ID:ikomc5kEr その管理を誰がやるのか?
低級プログラマがそれを考えて使えるのか?
使えないなら管理をどこかでちゃんとやる仕組みを作れ
低級プログラマがそれを考えて使えるのか?
使えないなら管理をどこかでちゃんとやる仕組みを作れ
497デフォルトの名無しさん (オッペケ Srbb-vI2o)
2019/06/16(日) 19:27:19.28ID:ikomc5kEr そもそもの仕組みは簡素なつもりなんだろうけど
結局考えてコーディングしなければバグってしまってアプリを使ってる人にはその理由がわからない
結局考えてコーディングしなければバグってしまってアプリを使ってる人にはその理由がわからない
498デフォルトの名無しさん (ワッチョイ 1aad-7FmS)
2019/06/16(日) 19:36:40.16ID:G7NVDdhd0 >>496
だからHttpClientFactoryなんだろ何回も言わせんな…
だからHttpClientFactoryなんだろ何回も言わせんな…
499デフォルトの名無しさん (オッペケ Srbb-vI2o)
2019/06/16(日) 19:51:24.02ID:ikomc5kEr .NET Frameworkは?
500デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 19:58:59.39ID:xspDtD2o0 >>496
そんな字が書けなくても小説が書けるノートを寄越せみたいな事言って何になるの?
そんな字が書けなくても小説が書けるノートを寄越せみたいな事言って何になるの?
501デフォルトの名無しさん (オッペケ Srbb-vI2o)
2019/06/16(日) 20:01:51.47ID:ikomc5kEr .net core 3.0でWPFサポートはいるけど
それまではWPFなどで作る場合.NET Frameworkだろ
ずっと放置しといて.net coreで入ったからいいなんて思うなよ
それまではWPFなどで作る場合.NET Frameworkだろ
ずっと放置しといて.net coreで入ったからいいなんて思うなよ
502デフォルトの名無しさん (ワッチョイ b61c-3SBU)
2019/06/16(日) 20:02:01.46ID:xspDtD2o0503デフォルトの名無しさん (アウアウウー Sac7-euJK)
2019/06/16(日) 20:24:08.68ID:+fU13JTma504デフォルトの名無しさん (ワッチョイ a31b-+7bl)
2019/06/16(日) 21:07:08.31ID:6Ugz9fj30 まず通信のためのインスタンスを保持しておく必要があるって点が意味不明
なんで一通信毎に一インスタンスを使い捨てさせてくれないんだ?
なんで一通信毎に一インスタンスを使い捨てさせてくれないんだ?
505デフォルトの名無しさん (ワッチョイ 4e7b-r4R3)
2019/06/16(日) 21:11:11.53ID:2a6zi2hA0 ないなら作ればとしか思わんけど
506デフォルトの名無しさん (アウアウエー Sa52-rXk6)
2019/06/16(日) 21:15:37.29ID:0NEzhhkla Keep Aliveの為に必要なんですよ
507デフォルトの名無しさん (ワッチョイ 0eda-2qry)
2019/06/16(日) 21:27:28.53ID:2mY5Onwd0 HttpClientに関連して、NetworkCredentialのダイジェスト認証バグもどうにかしろよって感じです。
GETにクエリパラメータ付いてると認証失敗したり、ところどころRFCに従ってなかったりとか。
散々ググって、どうやら解決方法が自前実装しかないと辿り着くまでに時間かかった。。
今どきダイジェスト認証って感じで放置されてるのかもですが、
Webサーバ積んでるIoT機器なんかでは結構使われてるので、ちょっとしたツール作るのもダルくなります
GETにクエリパラメータ付いてると認証失敗したり、ところどころRFCに従ってなかったりとか。
散々ググって、どうやら解決方法が自前実装しかないと辿り着くまでに時間かかった。。
今どきダイジェスト認証って感じで放置されてるのかもですが、
Webサーバ積んでるIoT機器なんかでは結構使われてるので、ちょっとしたツール作るのもダルくなります
508デフォルトの名無しさん (ワッチョイ 3363-Wwxm)
2019/06/16(日) 21:35:16.94ID:WJsnIQ8z0 半端なライブラリはこれだから
Javaみたいに産廃レベルだと「じゃあ俺が最強のHttpClientを作ってやる」ってのが出てくるのにね
Javaみたいに産廃レベルだと「じゃあ俺が最強のHttpClientを作ってやる」ってのが出てくるのにね
509デフォルトの名無しさん (アウアウウー Sac7-euJK)
2019/06/16(日) 21:41:01.31ID:+fU13JTma web系は仕事で触ったことないからまったく分かんないやw
どっかにいいチュートリアルとかある?
でも話聞いてるとweb系って今でもバッドノウハウの塊みたいでストレス度高そうだなw
どっかにいいチュートリアルとかある?
でも話聞いてるとweb系って今でもバッドノウハウの塊みたいでストレス度高そうだなw
510デフォルトの名無しさん (ワッチョイ a31b-+7bl)
2019/06/16(日) 22:05:12.05ID:6Ugz9fj30511デフォルトの名無しさん (アウアウカー Sac3-d9tj)
2019/06/16(日) 22:20:27.61ID:gEahNK3la 結局MSはWPFをどうしていくんだろうか
512デフォルトの名無しさん (ワイエディ MM86-2qry)
2019/06/16(日) 22:25:47.52ID:wD0NHooaM C#プログラミング初心者です
Form実行時の各イベントの発生順序について質問させてください
Form実行時にどういう順番でどういうプログラムが処理されていくのかよくわかりません
Formを実行したときFormのコンストラクタが設定されイニシャライズ内の各コントロールが配置されるという認識で合ってますか?
あと実行時に一番最初に処理されるのはProgram.csですか?
コンストラクタとイニシャライズの意味がよくわかっていないかもしれません
よろしくお願いします
Form実行時の各イベントの発生順序について質問させてください
Form実行時にどういう順番でどういうプログラムが処理されていくのかよくわかりません
Formを実行したときFormのコンストラクタが設定されイニシャライズ内の各コントロールが配置されるという認識で合ってますか?
あと実行時に一番最初に処理されるのはProgram.csですか?
コンストラクタとイニシャライズの意味がよくわかっていないかもしれません
よろしくお願いします
513デフォルトの名無しさん (ワッチョイ 3761-8GUE)
2019/06/16(日) 22:33:03.04ID:gLoRAJ8t0514デフォルトの名無しさん (ワッチョイ 4e7b-p7Vn)
2019/06/16(日) 22:47:40.58ID:Qo3kD6WQ0 >>512
コンストラクタはFormもそうだけどクラスのインスタンス生成時に最初に呼び出される
InitializeComponent()は単なるVisualStudioが用意しているデザイナのためのメソッド
コンストラクタ内などで自分で用意してもいい
一番最初に処理されるのはProgram.csでなくその中に書いてあるclass ProgramのMain(エントリポイント)
とりあえずこの辺から読んでみたら。特に理解しなくてもコードは書けるけども
[雑記] エントリーポイント https://ufcpp.net/study/csharp/structured/miscentrypoint/
[基礎] C#のプログラムの基本構造 https://ufcpp.net/study/csharp/st_basis.html
コンストラクタはFormもそうだけどクラスのインスタンス生成時に最初に呼び出される
InitializeComponent()は単なるVisualStudioが用意しているデザイナのためのメソッド
コンストラクタ内などで自分で用意してもいい
一番最初に処理されるのはProgram.csでなくその中に書いてあるclass ProgramのMain(エントリポイント)
とりあえずこの辺から読んでみたら。特に理解しなくてもコードは書けるけども
[雑記] エントリーポイント https://ufcpp.net/study/csharp/structured/miscentrypoint/
[基礎] C#のプログラムの基本構造 https://ufcpp.net/study/csharp/st_basis.html
515デフォルトの名無しさん (ワイエディ MM86-2qry)
2019/06/16(日) 22:58:44.87ID:wD0NHooaM516デフォルトの名無しさん (ワッチョイ 275f-n4BA)
2019/06/17(月) 11:09:57.31ID:aKGiWlYO0 なんかメモリーがどんどん減ってくんですが。
517デフォルトの名無しさん (ラクッペ MM4b-JGhj)
2019/06/17(月) 11:41:26.98ID:KqnEIU5BM それは痴呆だよ
518デフォルトの名無しさん (ササクッテロ Spbb-n4BA)
2019/06/17(月) 11:45:08.07ID:d6mw/rQbp 観測した途端にメモリーが足りなくなる不思議
519デフォルトの名無しさん (ラクッペ MM4b-JGhj)
2019/06/17(月) 12:01:39.02ID:KqnEIU5BM 記憶がだんだん遠くなる
520デフォルトの名無しさん (ブーイモ MM7f-R62x)
2019/06/17(月) 13:56:49.50ID:JXiMVUT0M 観測しなければいいじゃん
521デフォルトの名無しさん (ワッチョイ 8b01-n4BA)
2019/06/17(月) 14:00:02.92ID:i1zZ44t70 足りないのに無くならない不思議
522デフォルトの名無しさん (スップ Sd5a-V1Ms)
2019/06/17(月) 14:07:34.68ID:fWv+7syLd WPFデビューしようと思って色々調べてるんだけど情報少なすぎない?
Prismが便利らしいけど公式サンプルがちょこっとあるだけだし全然使えなさそう
Prismが便利らしいけど公式サンプルがちょこっとあるだけだし全然使えなさそう
523デフォルトの名無しさん (スププ Sdba-UiF5)
2019/06/17(月) 14:20:39.66ID:a0UOupWUd それはWPFじゃなくてPrismの問題だろw
524デフォルトの名無しさん (ササクッテロ Spbb-n4BA)
2019/06/17(月) 17:13:19.75ID:d6mw/rQbp WPFはFormと同じ名前のまんまのメソッドやプロパティ使えたら不人気にならなかったはず。
微妙に違ったりするから混乱するんだよな。
微妙に違ったりするから混乱するんだよな。
525デフォルトの名無しさん (ワッチョイ 1aca-271n)
2019/06/17(月) 23:14:24.82ID:js38FdP50 class test
{
byte i = new byte();
public void calc() {
...
}
...
}
こんな感じのnewの使い方をみたのですが、こういうのc#だけですよね?
どこかに解説はありませんか?
{
byte i = new byte();
public void calc() {
...
}
...
}
こんな感じのnewの使い方をみたのですが、こういうのc#だけですよね?
どこかに解説はありませんか?
526デフォルトの名無しさん (ワッチョイ 4e7b-p7Vn)
2019/06/17(月) 23:24:08.75ID:qS39OOn20 >>525
書き方として有効でも普通はそんなことやらない
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/new-operator
>new 演算子は値型のパラメーターなしのコンストラクターの呼び出しにも使用します
書き方として有効でも普通はそんなことやらない
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/new-operator
>new 演算子は値型のパラメーターなしのコンストラクターの呼び出しにも使用します
527デフォルトの名無しさん (ドコグロ MMf7-FH5+)
2019/06/17(月) 23:54:16.01ID:dLLbEhJJM 構造体の引数無しのnewはdefaultと同じ
newだとユーザー定義の初期化処理が走っているように見えてしまうから、最近だとdefaultのほうが好まれる傾向がある
フィールドの場合は明示的に初期化しなくても勝手に既定値で初期化されるから不要なんだけど
newだとユーザー定義の初期化処理が走っているように見えてしまうから、最近だとdefaultのほうが好まれる傾向がある
フィールドの場合は明示的に初期化しなくても勝手に既定値で初期化されるから不要なんだけど
528デフォルトの名無しさん (ワッチョイ 33da-L2mO)
2019/06/18(火) 05:55:07.37ID:LmNIdt8j0 C# でDB勉強中なんですが、以下のケースでは、更新/挿入/削除するべきレコードの判定はどうすればよいでしょうか?
元テーブル
--------------------------
id | item_name | item_location |
--------------------------
1 item1 1
2 item2 1
3 item3 2
--------------------------
これをDataGridViewに読み込んで、以下のように修正するとします。
--------------------------
id | item_name | item_location |
--------------------------
1 item3 2 ← item1がitem3に変更
2 item1 3 ← item2がitem1に変更されてlocationも変更
3 item4 1 ← item4 追加
4 item5 1 ← item5 追加
-------------------------- ※item2は削除
この処理の場合、insert・update・deleteするべきレコードの判定はどうやって行ったらよいでしょうか?
元テーブル
--------------------------
id | item_name | item_location |
--------------------------
1 item1 1
2 item2 1
3 item3 2
--------------------------
これをDataGridViewに読み込んで、以下のように修正するとします。
--------------------------
id | item_name | item_location |
--------------------------
1 item3 2 ← item1がitem3に変更
2 item1 3 ← item2がitem1に変更されてlocationも変更
3 item4 1 ← item4 追加
4 item5 1 ← item5 追加
-------------------------- ※item2は削除
この処理の場合、insert・update・deleteするべきレコードの判定はどうやって行ったらよいでしょうか?
529デフォルトの名無しさん (ブーイモ MMba-OxFy)
2019/06/18(火) 06:10:50.02ID:+H1sBCCVM キー項目は何?無ければ作る
530デフォルトの名無しさん (ワッチョイ 4ef2-2qry)
2019/06/18(火) 06:12:13.77ID:d6M+0/F+0 洗い替えがいいんじゃない?
元テーブルを裏で保持してて対象レコードを全部削除する
修正後を全部INSERT
元テーブルを裏で保持してて対象レコードを全部削除する
修正後を全部INSERT
531デフォルトの名無しさん (ワッチョイ 1ab0-bbbA)
2019/06/18(火) 06:13:19.34ID:3nOE2mBA0 プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
532デフォルトの名無しさん (ワッチョイ 8b01-eoY4)
2019/06/18(火) 07:41:47.49ID:HGOf7fkO0 WPFが流行らないまま時代はスマホアプリに
533デフォルトの名無しさん (ワッチョイ 9a4b-YiLg)
2019/06/18(火) 10:24:27.14ID:MvE0vXDO0535デフォルトの名無しさん (ワッチョイ 9a7d-2qry)
2019/06/18(火) 14:34:26.70ID:H7tttB9U0 C# でセレニウム(Chrome)を操作しています。
この時に
ページを復元しますか?
Chromeは正しく終了しまsんでした
障害レポートと使用統計データ・・・
というメッセージが出て邪魔です。
これを出ない様に出来ないでしょうか?
この時に
ページを復元しますか?
Chromeは正しく終了しまsんでした
障害レポートと使用統計データ・・・
というメッセージが出て邪魔です。
これを出ない様に出来ないでしょうか?
536デフォルトの名無しさん (スッップ Sdba-7FmS)
2019/06/18(火) 15:07:21.28ID:6gzOVRYwd >>535
再現可能な必要最小限のプロジェクトを共有して
再現可能な必要最小限のプロジェクトを共有して
537デフォルトの名無しさん (ワッチョイ 9a7d-2qry)
2019/06/18(火) 16:06:35.49ID:H7tttB9U0538デフォルトの名無しさん (スッップ Sdba-7FmS)
2019/06/18(火) 16:35:19.94ID:6gzOVRYwd しないよ
539デフォルトの名無しさん (ワッチョイ 9388-5SGz)
2019/06/18(火) 18:08:04.60ID:WG6tLdsV0 ずーっとセレニウムと格闘してんねw
540デフォルトの名無しさん (ワッチョイ 337b-FOz1)
2019/06/18(火) 18:35:30.59ID:lLW7uP7d0 >>537
ChromeDriverのことはChromeDriverのForumで聞けよ
https://groups.google.com/forum/#!forum/chromedriver-users
ChromeDriverのことはChromeDriverのForumで聞けよ
https://groups.google.com/forum/#!forum/chromedriver-users
541デフォルトの名無しさん (ワイエディ MM92-2qry)
2019/06/18(火) 19:51:09.93ID:9LNNY8IFM C#でDB操作時かつトランザクション使用時のコミットやロールバックを書く場所と、例外発生時の処理の止め方について質問させてください
DB内のデータをC#のDataGridViewにバインドし編集したのち登録や削除を行う課題をしているのですが、
コミットやロールバックを書く場所や、例外発生時に処理を止める方法がよくわかりません
今までメソッドの処理を中断するときはreturnを使えば良いと思っていたのですが、私に課題を出していただいてる方にそのやり方ではないと言われました
どうやらthrowを使うパターンもあるらしいのですが調べてもよくわかりません
わかりにくい文章で申し訳ありませんがヒントだけでもいただけたら嬉しいです
どうかよろしくお願いします
DB内のデータをC#のDataGridViewにバインドし編集したのち登録や削除を行う課題をしているのですが、
コミットやロールバックを書く場所や、例外発生時に処理を止める方法がよくわかりません
今までメソッドの処理を中断するときはreturnを使えば良いと思っていたのですが、私に課題を出していただいてる方にそのやり方ではないと言われました
どうやらthrowを使うパターンもあるらしいのですが調べてもよくわかりません
わかりにくい文章で申し訳ありませんがヒントだけでもいただけたら嬉しいです
どうかよろしくお願いします
542デフォルトの名無しさん (ワッチョイ 4e7b-p7Vn)
2019/06/18(火) 20:01:43.07ID:z/sE9uve0 >>541
throwはこれ。例外を投げて場合によってはメッセージを入れるなどして呼び出し元でcatchさせたりする
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/throw
throwはこれ。例外を投げて場合によってはメッセージを入れるなどして呼び出し元でcatchさせたりする
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/throw
543デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/18(火) 23:02:13.66ID:PmBejiWq0 Ruby で、Selenium WebDriver を使えば?
Chrome Driver は、ちょくちょく変わるよ。
それに、Chrome も、知らない間に、バージョンアップされてる!
自分のChromeが、バージョンアップされた時に、
新しいChrome Driverにしていないと、バージョンの不一致により、エラーで落ちる!
自分のChromeのバージョンを見て、もしバージョンアップされていれば、
そのバージョンに合った、Chrome Driverに変えてください!
Chrome Driver は、ちょくちょく変わるよ。
それに、Chrome も、知らない間に、バージョンアップされてる!
自分のChromeが、バージョンアップされた時に、
新しいChrome Driverにしていないと、バージョンの不一致により、エラーで落ちる!
自分のChromeのバージョンを見て、もしバージョンアップされていれば、
そのバージョンに合った、Chrome Driverに変えてください!
544543 (ワッチョイ 9a2c-oZrO)
2019/06/18(火) 23:13:17.82ID:PmBejiWq0 それと、5ch みたいに、空のHTML を送ってきてから、
Ajax で内容を取得するようなサイトは、
30秒ぐらい待たないと、内容が取得できないこともある
それと、5chはバグが多いから、ある日、突然動かなくなる。
IE では、フリーズするし
サイトのバグで動かなくなることも多いから、
example.com とか、色々なサイトで、使ってみる事!
Ajax で内容を取得するようなサイトは、
30秒ぐらい待たないと、内容が取得できないこともある
それと、5chはバグが多いから、ある日、突然動かなくなる。
IE では、フリーズするし
サイトのバグで動かなくなることも多いから、
example.com とか、色々なサイトで、使ってみる事!
545デフォルトの名無しさん (ワッチョイ 9a7d-2qry)
2019/06/18(火) 23:17:03.81ID:H7tttB9U0546デフォルトの名無しさん (ワッチョイ ba52-LNjH)
2019/06/19(水) 00:25:52.80ID:SHnWP/2E0 >>545
そいつは自分の言いたいことを言うだけだから、会話しようとしても無駄だぞ
そいつは自分の言いたいことを言うだけだから、会話しようとしても無駄だぞ
547デフォルトの名無しさん (アウアウエー Sa52-rXk6)
2019/06/19(水) 00:43:45.23ID:cBT9gst5a chromeコンテナ使えよ
548デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/21(金) 10:51:14.98ID:+Ex9QBom0 DataGridViewの列にDataGridViewImageColumnを設けています。
ネットからダウンロードしたエロ画像をローカルに保存して
DataGridViewのその列に1.jpg〜5.jpを一覧表示します。
DataGRidView.DataSource = ero_DataTable;
参照している画像
c:\dat\downloaded_files\1.jpg 〜 2.jpg
再び別の画像をダウンロードし
DataGridViewにレンダリングする為に、まず最初にローカル画像を削除しようとすると
「別のプロセスで使用されているため、プロセスはファイル '1.jpg' にアクセスできません。」
というエラーメッセージが表示されてしまいます。
ローカルの画像を削除した後で、新しい画像をネットからダウンロードしてローカルに保存し
1〜***.jpgとして保存し、DataGridViewから参照したいのですが、何か良い方法はないでしょうか?
ネットからダウンロードしたエロ画像をローカルに保存して
DataGridViewのその列に1.jpg〜5.jpを一覧表示します。
DataGRidView.DataSource = ero_DataTable;
参照している画像
c:\dat\downloaded_files\1.jpg 〜 2.jpg
再び別の画像をダウンロードし
DataGridViewにレンダリングする為に、まず最初にローカル画像を削除しようとすると
「別のプロセスで使用されているため、プロセスはファイル '1.jpg' にアクセスできません。」
というエラーメッセージが表示されてしまいます。
ローカルの画像を削除した後で、新しい画像をネットからダウンロードしてローカルに保存し
1〜***.jpgとして保存し、DataGridViewから参照したいのですが、何か良い方法はないでしょうか?
549デフォルトの名無しさん (ササクッテロ Sp8d-nmwH)
2019/06/21(金) 10:52:25.51ID:LVq54M8sp とりあえずcloseだな。
550デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/21(金) 11:05:23.63ID:+Ex9QBom0551デフォルトの名無しさん (ササクッテロ Sp8d-nmwH)
2019/06/21(金) 11:11:30.32ID:LVq54M8sp じゃあ、usingで括る
552デフォルトの名無しさん (ワッチョイ 4b7c-hqo7)
2019/06/21(金) 11:23:43.41ID:kqcCd+WN0 DataTableの画像列をtypeof(Image)とかtypeof(Bitmap)でやってるなら、
代わりにtypeof(byte[])にして、
行を追加するときにBitmapオブジェクトを追加するんじゃなくて
File.ReadAllBytesしたバイト配列を追加するようにする
代わりにtypeof(byte[])にして、
行を追加するときにBitmapオブジェクトを追加するんじゃなくて
File.ReadAllBytesしたバイト配列を追加するようにする
553デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/21(金) 11:46:36.87ID:+Ex9QBom0 ありがとうございます。
試してみます!
因みに現在は、こういう感じのコードでDataGridViewには画像を表示しています。
int i_data_count = 5;
for (int i = 1; i <= i_data_count; i++)
{
dgv_erogazou["ERO_IMAGE", i - 1].Value = new Bitmap("C\data\" + i.ToString() + ".jpg");
}
試してみます!
因みに現在は、こういう感じのコードでDataGridViewには画像を表示しています。
int i_data_count = 5;
for (int i = 1; i <= i_data_count; i++)
{
dgv_erogazou["ERO_IMAGE", i - 1].Value = new Bitmap("C\data\" + i.ToString() + ".jpg");
}
554デフォルトの名無しさん (ササクッテロ Sp8d-nmwH)
2019/06/21(金) 12:56:06.44ID:LVq54M8sp C#あるあるだな。
いつファイルを解放して良いのか分からないからいつまでもファイルを開いたままなんじゃね?
関数が中でなんとかすれば良いのに融通がきかなよなw
いつファイルを解放して良いのか分からないからいつまでもファイルを開いたままなんじゃね?
関数が中でなんとかすれば良いのに融通がきかなよなw
555デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/21(金) 13:31:59.07ID:+Ex9QBom0556デフォルトの名無しさん (ワッチョイ e188-ygqK)
2019/06/21(金) 14:05:44.74ID:oHxDGzCo0 いや、不要になった時点でファイルをちゃんと閉じればええやん
557デフォルトの名無しさん (スププ Sdb3-6Ypt)
2019/06/21(金) 16:12:50.06ID:g5FK/rwid >>554
横着せずに不要になったら自分で閉じろよ
横着せずに不要になったら自分で閉じろよ
558デフォルトの名無しさん (ワッチョイ a17b-oYnd)
2019/06/21(金) 21:14:35.05ID:41J0QDC70 >>553
DataSourceにするのなら>>552が適切な回答だけど補足しておくとImageクラス(下位クラスのBitmapも)の面倒な仕様のせい
表示中の画像ファイルが削除できない問題の解決法
https://dobon.net/vb/dotnet/graphics/drawpicture2.html
他の解決法としてはインスタンスの内容をコピーして元の(ファイルをつかんでいる方の)インスタンスをDisposeしたりImageConverter経由で画像を取得したりする
DataSourceにするのなら>>552が適切な回答だけど補足しておくとImageクラス(下位クラスのBitmapも)の面倒な仕様のせい
表示中の画像ファイルが削除できない問題の解決法
https://dobon.net/vb/dotnet/graphics/drawpicture2.html
他の解決法としてはインスタンスの内容をコピーして元の(ファイルをつかんでいる方の)インスタンスをDisposeしたりImageConverter経由で画像を取得したりする
559デフォルトの名無しさん (ササクッテロ Sp8d-nmwH)
2019/06/21(金) 21:53:59.45ID:LVq54M8sp ファイル操作とbitmap操作を別々にやればいいんだろ?
分かってるよめんどくさいんだよ。
分かってるよめんどくさいんだよ。
560デフォルトの名無しさん (ササクッテロ Sp8d-nmwH)
2019/06/21(金) 21:55:05.08ID:LVq54M8sp むしろ取り出したら閉じてくれよ糞仕様だよな。
561デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/21(金) 22:09:21.22ID:+Ex9QBom0 >>558
DataGridViewの中のImageColumnだからそれだとできないのでは?
DataGridViewの中のImageColumnだからそれだとできないのでは?
562デフォルトの名無しさん (ワッチョイ 4963-ygqK)
2019/06/21(金) 23:28:05.29ID:JQSabSWL0 その後使うのに勝手に閉じるほうがクソ仕様じゃん
用途理解せず間違った使い方して仕様に文句言うってw
用途理解せず間違った使い方して仕様に文句言うってw
563デフォルトの名無しさん (アウアウウー Sac5-fmV5)
2019/06/21(金) 23:32:45.71ID:fAAfMpwpa >>560
お前さんの思うようにならないこの世の中は、糞仕様の最たる物だろうね
お前さんの思うようにならないこの世の中は、糞仕様の最たる物だろうね
564デフォルトの名無しさん (ワッチョイ b95f-nmwH)
2019/06/21(金) 23:50:02.71ID:r7op1kHj0 使うのは画像データで、読み取ったファイルは要らないから閉じてよ。
って話だろ?
って話だろ?
565デフォルトの名無しさん (ワッチョイ a17b-oYnd)
2019/06/22(土) 00:10:22.86ID:0zozUz1q0 >>561
Bitmapを入れるだけだからできないってのはありえない
例えばImageConverter経由で直に入れる場合
dgv_erogazou["ERO_IMAGE", i - 1].Value = (Bitmap)new ImageConverter().ConvertFrom((byte[])System.IO.File.ReadAllBytes("C:\data\" + i.ToString() + ".jpg"));
Bitmapを入れるだけだからできないってのはありえない
例えばImageConverter経由で直に入れる場合
dgv_erogazou["ERO_IMAGE", i - 1].Value = (Bitmap)new ImageConverter().ConvertFrom((byte[])System.IO.File.ReadAllBytes("C:\data\" + i.ToString() + ".jpg"));
566デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/22(土) 00:22:05.59ID:RCotbW9/0 >>565
詳しいですね。試してみます。
詳しいですね。試してみます。
567デフォルトの名無しさん (ドコグロ MMb3-w2KU)
2019/06/22(土) 09:51:37.11ID:sRxgpvPlM568デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/22(土) 20:13:32.14ID:RCotbW9/0569デフォルトの名無しさん (ワッチョイ 2bf2-Im5L)
2019/06/22(土) 20:22:58.28ID:kyoGZvmZ0 えっちな奴め
570デフォルトの名無しさん (ワッチョイ a163-uWXu)
2019/06/22(土) 20:25:30.34ID:oSCB+4xW0 えっち駆動開発の何が悪いんですか
571デフォルトの名無しさん (ブーイモ MMb3-EH65)
2019/06/22(土) 20:36:08.91ID:Ox8nDO+0M 直ぐにdefunctになる事
572デフォルトの名無しさん (ワッチョイ 9301-w2KU)
2019/06/22(土) 21:32:06.83ID:q0mPajE40 我がエロは永久に不滅です
573デフォルトの名無しさん (ワッチョイ 937d-Im5L)
2019/06/22(土) 21:36:35.73ID:RCotbW9/0 よしこれでエロ画像クローラーできる
■ このスレッドは過去ログ倉庫に格納されています
