ADO.NETの質問・雑談スレ2 (421レス)
1-

297
(1): 2009/12/12(土)08:34 ID:??? AAS
>296
外部リンク[aspx]:msdn.microsoft.com
msdnぐらい読もうな。
298: 2009/12/12(土)11:59 ID:kLyx5gG9(2/4) AAS
>>297
ありがとうございました!

一文字ワイルドカードとして_を使っては見たのですが
まったく意図する結果が得られなかったので*なのかな?と思っていました。

LIKEのターゲットがCHAR(8)なのでこれが原因みたいですね。
299: 2009/12/12(土)20:57 ID:??? AAS
馬鹿は使うなってマジで・・・
300: 2009/12/12(土)22:59 ID:??? AAS
substring
つーかSQLスレで聞け
301: 2009/12/12(土)23:20 ID:kLyx5gG9(3/4) AAS
以下のスレから誘導されてきました。
2chスレ:db
先のスレでも回答いただいたのですが、どうやら私の理解が不足している様でして
出来れば初心者にも判りやすく回答いただけないでしょうか。

質問の内容はこの通りです。
環境はVS2008pro C# SQLServer2005EEです。
SQL分でLIKE抽出するときなのですが、%っていうのは「なくても」or「何が何文字あっても」って感じですか?
ワイルドカード文字数を指定してLIKE抽出したい場合*を使うのでしょうか?
又、*は「とりあえず何らかの文字が1文字以上ある」なのでしょうか?
やりたいことは (0は何らかの数字/A,Bはアルファベットが入ります)
省10
302: 2009/12/12(土)23:22 ID:kLyx5gG9(4/4) AAS
だぁっ!!すみません。誤爆しました。
303: 2010/01/11(月)00:38 ID:??? AAS
LINQ使えば、もうADO.NETは不要という時代になってきたのかな・・・
304: 2010/01/12(火)00:41 ID:??? AAS
頑張ってLinq使ってるけど一長一短て感じだなー。
補完的に使うと便利だけど完全にADO.NETを置き換えられるか、つーと色々微妙。
取得結果を1カラムずつループ、とか出来ないし。
305: 2010/01/12(火)03:06 ID:??? AAS
Linq to SQLもEntity Frameworkも基本的にORMだから、
他のORMと同じような長所と短所を持っている。
完全な代替にはならない。
306
(3): 2010/01/25(月)17:41 ID:l/MgFzI4(1) AAS
<<質問>>
当方の環境ではLike演算子の挙動が1)SqlSeverManagementStudio と 2)ADO.NET(VS2008C#)で異なっているのですが、
原因が解らずはまっております。なんでこんな事がおきるのでしょうか・・・

<<やりたいこと>> 
XXXA0001のようなデータを抽出したい

select max(xxxx) from xxxxx
where cd like 'XXX[AB][0-9][0-9][0-9][0-9]%'

<<現象>>
XXXA0001とか 1)ではヒットするのだが、 2)ではヒットしない

<<試行錯誤結果>>
省8
307
(1): 2010/01/25(月)22:28 ID:??? AAS
>>306
System.Data.SqlClient.qlCommandでは2)は1)と同じ動作になる。
前提条件や再現するソースくらい出しなよ。
308
(1): 2010/01/25(月)23:24 ID:??? AAS
どうせOLEDBとかODBCでやってんだろ。
309
(1): 2010/01/27(水)07:39 ID:??? AAS
likeの後の文字列が途中で切れてると神の啓示があったぞ
310: 306 2010/02/01(月)12:22 ID:1OwJFp6O(1) AAS
>>307-309
レス頂き有り難う御座います。
また、中途半端な情報しか出せずに申し訳ありません。

2)の実行環境ですが、プロジェクトにデータセット(XSDファイル)を追加し、
同デザイナ上でクエリ追加()、SQLは306に記述されている構文そのまま(Scalar)
になります。

尚、接続先はSqlServer2008Expressになります。
接続文字列は
Data Source=XXXXXX\SQLEXPRESS;Initial Catalog=XXXXXXXXX;Persist Security Info=True;User ID=xxxx,Password=xxxx
になります。
省4
311
(1): 2010/02/01(月)23:48 ID:??? AAS
本当に調査したいのならSQLServreProfilerでどんなSQLが発行されたか調べればいい。
312
(1): 2010/02/02(火)08:14 ID:??? AAS
つか最低限のコード晒せよ
話はそれからだ
313: 306 2010/02/02(火)18:10 ID:QBgQPh1C(1) AAS
>>311,312さまレス有り難う御座います。

306で御座います。原因がわかりました。
結論から言えば、309様の神のお告げのとおりで御座いました。

テーブルのフィールドの型がchar(16)で定義されているため、
デザイナでコード生成をすると対応するテーブルアダプタ\コマンド\パラメータの型も
char(16)として扱ってしまい、結果として、意図したパラメータが入力されなくなっておりました。

その為、like演算子を用いるパラメータクラスのプロパティ(ProvideType)を
Varchar型に変更することで解決することが確認できました。

>>311さま
実行されたSqlをトレースするソフトがあるなんて知りませんでしたw
省4
314: 2010/02/02(火)21:43 ID:??? AAS
よかったな。久しぶりに気持ちいい質問者だったわ。
315: [age] 2010/02/20(土)16:19 ID:??? AAS
ちょっと古い記事だけど、参考として紹介しておきます。

連載:VB研公開ゼミ議事録
第7回 ADO.NET開発初心者の疑問、解決します!
外部リンク[html]:www.atmarkit.co.jp
316: 2010/03/13(土)16:18 ID:??? AAS
read_commitedでのinsertでデッドロックすることがあるんですが、そういうものですか?
insertでなぜおきるのかわかりません
1-
あと 105 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.012s*