■63657 / inTopicNo.1) |
クエリーではなく直接項目に代入する方法はあるでしょうか? |
□投稿者/ ロック (1回)-(2012/09/23(Sun) 15:25:41)
|
分類:[C#]
Windows 7 SP1 Visual Studio 2010 C# Pro SQL Server 2008 Express
データベースのテーブルにレコードを挿入する時、本やネットで調べてクエリーを使う方法が紹介されているので使ってます。 今、ソースや本がないので間違い等あると思いますがご了承を。
INSERT INTO table (aaa, bbb, ccc, ddd, eee) VALUES (111,'222','333','444','555')
もちろんちゃんと動いてますが、項目が100個とかのテーブルだと項目名と値の順番が正しいのか等とても見づらくなります。
Delphiだと、フォームにテーブル部品を置いて、何のテーブルを指してるかプロパティで指定し、
table.Append; table.FieldByName('aaa').AsInteger := 111; table.FieldByName('bbb').AsString := '222'; table.FieldByName('ccc').AsString := '333'; table.FieldByName('ddd').AsString := '444'; table.FieldByName('eee').AsString := '555'; table.Post;
としてクエリーではなく、こういう方法が一般的でした。 これだと項目名と値の順番が間違えることはありません。 C#でこういう方法は無理なのでしょうか? 部品にはDataSetというのがあるので、これをフォームに置いて使うのかとネットで調べても情報見つかりませんでした。 本にDataTableを自分でnewしてする方法が載ってるんですが、項目のひとつひとつの型をまず全部定義してから代入する方法でした。 これだと結局DBMSで定義したのに、C#上でまた全ての項目の型を定義する必要があり、あまり意味がありません。
データベース接続を追加する方法は買った本にも載っています。 こんな感じです。 http://msdn.microsoft.com/ja-jp/library/bb655884(v=vs.90).aspx ただ本にも追加する方法は載ってますが、そこから挿入や編集はなぜかクエリー使った方法しか載ってません。 このデータベース接続追加でいけそうな気もするんですが、本にも載ってないのはやはり無理なのでしょうか? 確かそれをデータグリッドに表示するのは過去うまく実現できたと思いますが、プログラムから挿入や編集するクエリー以外の方法は分かりませんでした。
C#にはDelphiのような方法はないのでしょうか? ネットでこの休みにいろいろ検索しましたが結局見つからずクエリー使う方法ばかりでした。 もしもDelphiのような方法があり、やり方等載っているサイトがあると教えて頂ければ助かります。
|
|