C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: データベースのDesigner.csの記述


(過去ログ 25 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■11127 / inTopicNo.1)  データベースのDesigner.csの記述
  
□投稿者/ コジ (7回)-(2007/12/07(Fri) 13:10:35)

分類:[C#] 

2007/12/07(Fri) 14:24:17 編集(投稿者)

Designer.csを見ていたら
InsertCommand.CommandText、DeleteCommand.CommandText、UpdateCommand.CommandTextの
記述があったり、

InsertCommand.CommandTextはあるけど、
DeleteCommand.CommandTextとUpdateCommand.CommandTextが
ないものがありました。

これはどのようにしたら、記述されるのでしょうか。
どなたかご教示ください。
よろしくお願いいたします。
引用返信 編集キー/
■11193 / inTopicNo.2)  Re[1]: データベースのDesigner.csの記述
□投稿者/ カンタービレ (124回)-(2007/12/09(Sun) 14:01:12)
No11127 (コジ さん) に返信
> 2007/12/07(Fri) 14:24:17 編集(投稿者)
>
> Designer.csを見ていたら
> InsertCommand.CommandText、DeleteCommand.CommandText、UpdateCommand.CommandTextの
> 記述があったり、
>
> InsertCommand.CommandTextはあるけど、
> DeleteCommand.CommandTextとUpdateCommand.CommandTextが
> ないものがありました。
>
> これはどのようにしたら、記述されるのでしょうか。
> どなたかご教示ください。
> よろしくお願いいたします。

通常デザイナ上で操作した結果がツールによって自動でコード生成されてマスから
デザイナ上での操作の違いで記述されたりされなかったり、なんじゃないデスか?

なので、全く同じ操作で同じものを作ったのにデザイナのコードが違うということでは
ないと思いマス。
多分ご自身が行った操作の結果による違いデスので、ご自身が行った操作の違いを
まずは順を追って書いてみてはいかがでしょうか?
@行の追加・編集・削除が入っているテーブルアダプタが出来るまでの操作
A行の追加しか入っていないテーブルアダプタが出来るまでの操作

どのようにしたらっていう質問の意図が読めませんが、ツールは必要がないと思われる
コードまでは出力しないだけなんだと思いマスよ。

#私はわざわざデザイナの作るコードを見ようという気がおきませんケド・・・。
#そしてデータアクセスのプログラムはデザイナで作らず手で書くかも・・・。

試しにDataGridViewをFormに貼り付けて新しいデータソースの追加を
デザイナ上からしてみたら、なんか全部書き出されてましたね。

引用返信 編集キー/
■11203 / inTopicNo.3)  Re[2]: データベースのDesigner.csの記述
□投稿者/ tunami (1回)-(2007/12/10(Mon) 02:16:29)
>2007/12/07(Fri) 14:24:17 編集(投稿者)
>
>Designer.csを見ていたら
>InsertCommand.CommandText、DeleteCommand.CommandText、UpdateCommand.CommandTextの
>記述があったり、
>
>InsertCommand.CommandTextはあるけど、
>DeleteCommand.CommandTextとUpdateCommand.CommandTextが
>ないものがありました。
>
>これはどのようにしたら、記述されるのでしょうか。
>どなたかご教示ください。
>よろしくお願いいたします。

最近こちらのサイトを紹介いただきまして、眺めていたら思い当たる節のあるネタが
載っていましたので、レスさせていただきます。
(調べたわけでなく経験談なので参考程度に)

#ちなみに以下のネタはデザイナにテーブルを投下して手動で修正してないのが前提です
#もし自分でDeleteCommandとかいじってる場合はその限りではありませんので関連ネタ程度に…

xsdファイルのデザイナを開いてテーブルやビューを貼り付けると以下のアダプタが作成されます。
■テーブルの場合
1:主キーとtimestampがある
 UpdateCommandとDeleteCommandを含むアダプタが付属で作成されます。
 この際、UPDATEとDELETEのWHERE句として主キーとtimestamp列の条件で検索するクエリになります。
2:主キーがある(timestampがない)
 UpdateCommandとDeleteCommandを含むアダプタが付属で作成されます。
 この際、UPDATEとDELETEのWHERE句としてすべての列を条件にして検索するクエリになります。
 #null許容の列が複数あると膨大なWHERE句になったり…
 #何故そうなるかと言うのは長くなりそうなのでここでは割愛します、試してみてください(^^;
3:主キーがない
 InsertCommandのみを更新コマンドとして含むアダプタが付属で作成されます。

■ビューの場合
 常にInsertCommandのみを更新コマンドとして含むアダプタが付属で作成されます。
 #テーブルと1:1のビューの場合、キーとかも作成されるのでUpdateCommandとか付くかなと思いましたがだめでした

で、上記のようにxsdが作成された上でカンタービレさんのおっしゃる通りcsが自動生成されるので、
この辺りを確認してみたらいかがでしょうか?

#もし検討違いだったらスミマセン、パッと見て以前自分が悩んだネタに似ていたもので…
引用返信 編集キー/
■11205 / inTopicNo.4)  Re[3]: データベースのDesigner.csの記述
□投稿者/ Jitta on the way (55回)-(2007/12/10(Mon) 07:43:25)
No11203 (tunami さん) に返信
> >2007/12/07(Fri) 14:24:17 編集(投稿者)
> >
> >Designer.csを見ていたら
> >InsertCommand.CommandText、DeleteCommand.CommandText、UpdateCommand.CommandTextの
> >記述があったり、
> >
> >InsertCommand.CommandTextはあるけど、
> >DeleteCommand.CommandTextとUpdateCommand.CommandTextが
> >ないものがありました。
> >
> >これはどのようにしたら、記述されるのでしょうか。
> >どなたかご教示ください。
> >よろしくお願いいたします。
>
> 最近こちらのサイトを紹介いただきまして、眺めていたら思い当たる節のあるネタが
> 載っていましたので、レスさせていただきます。
> (調べたわけでなく経験談なので参考程度に)
>
> #ちなみに以下のネタはデザイナにテーブルを投下して手動で修正してないのが前提です
> #もし自分でDeleteCommandとかいじってる場合はその限りではありませんので関連ネタ程度に…
>
> xsdファイルのデザイナを開いてテーブルやビューを貼り付けると以下のアダプタが作成されます。
> ■テーブルの場合
> 1:主キーとtimestampがある
>  UpdateCommandとDeleteCommandを含むアダプタが付属で作成されます。
>  この際、UPDATEとDELETEのWHERE句として主キーとtimestamp列の条件で検索するクエリになります。
> 2:主キーがある(timestampがない)
>  UpdateCommandとDeleteCommandを含むアダプタが付属で作成されます。
>  この際、UPDATEとDELETEのWHERE句としてすべての列を条件にして検索するクエリになります。
>  #null許容の列が複数あると膨大なWHERE句になったり…
>  #何故そうなるかと言うのは長くなりそうなのでここでは割愛します、試してみてください(^^;
> 3:主キーがない
>  InsertCommandのみを更新コマンドとして含むアダプタが付属で作成されます。
>
> ■ビューの場合
>  常にInsertCommandのみを更新コマンドとして含むアダプタが付属で作成されます。
>  #テーブルと1:1のビューの場合、キーとかも作成されるのでUpdateCommandとか付くかなと思いましたがだめでした
>
> で、上記のようにxsdが作成された上でカンタービレさんのおっしゃる通りcsが自動生成されるので、
> この辺りを確認してみたらいかがでしょうか?
>
> #もし検討違いだったらスミマセン、パッと見て以前自分が悩んだネタに似ていたもので…

よくまとめられていますね。ありがとうございます。


その他
ウィザードの途中のオプションで、オプティミスティック同時実行制御をしない設定をすると、長いWHERE文を削れます。
同じ画面で、更新系の文を出力するかどうか、選べます。
複数のテーブルからSELECTすると、更新系の文は書かれなかったと思います。
引用返信 編集キー/
■11341 / inTopicNo.5)  Re[4]: データベースのDesigner.csの記述
□投稿者/ コジ (9回)-(2007/12/12(Wed) 15:02:15)
みなさん、ありがとうございます。
レスを読んでみたら思い当たる節がありました。

それは、主キーがないのとあるのとによってCommandの記述が違うことでした。
無事、解決することができました。
ありがとうございました。

ご返事が遅くなり申し訳ありませんでした。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -