2010-12-15 18 views
0

私は3つのテーブルを持つasp.netアプリケーションを構築しようとしています。あるテーブルの情報をLINKテーブルに挿入するにはどうすればよいですか?

tblRoute 
tblHalte 
tblHalteRoute 

私はtblHalteRouteにルートIDを挿入すると、すべてのために複数のhalteIDの

TblRouteが必要なフィールド(ルートID(1)&
allHaltes [halteID1、halteID2、halteID3])
を持っているルートID - すべてのルートには、allHaltesフィールドを解析してIDSを使用してアクセスできる複数のHaltesがあります。

私は何をしたいことは、このように更新tblHalteRouteです:

tblRoute.routeID(1), tblRoute.allHaltes(halteID1) 
tblRoute.routeID(1), tblRoute.allHaltes(halteID2) 
tblRoute.routeID(1), tblRoute.allHaltes(halteID3) 

tblHalteRouteにこれらの値を挿入する..私は私がSUBquerysを使用してみました、本当に見てするか、起動する方法をどこにわからないんだけど選択前に挿入するが、成功しない。

答えて

0

私が正しくあなたを理解していれば、あなたはデータを旋回するようにしようとしている - 例えば

Route 1 Halte 1 
Route 1 Halte 2 
Route 1 Halte 3 

--> 

Route 1 Halte 1 Halte 2 Halte 3 

私も、この場合は、(データ・アクセス・メカニズムのように)LINK

は、LINQをしませ意味と仮定しています場合は、あなたのような何かをする機能を書くことができます:

Dim MyNewRow = New tblHalteRoute 
Dim Routes = MyRoutes.Where(function(x) x.RouteId = 1).OrderBy(function(x) x.RouteId) 

MyNewRow.Route1 = Routes.First.id 
MyNewRow.Route2 = Routes.Skip(1).First.id 
MyNewRow.Route£ = Routes.Skip(2).First.id 

それはあなたのルートテーブルがIdsがある以上のIDフィールドを持っていることを前提に作っていることをnnoting価値があります=これはあなたのアプリの正当な前提かもしれませんが、それでも私にとっては危険だと感じています - これを適切に保管しておくことをお勧めします(つまり、リレーショナルを維持する)。そして、必要に応じて各行にFor Each利用可能なIDの数

+0

ヘイジーベーシックライフ、迅速な返信をいただきありがとうございます。 LINKテーブルでは、私が正しい場合にIDSを介して2つのテーブルを接続する相互参照テーブルを教えています。あなたの答えが私には完全にはっきりしているわけではありません。私は1つのルートを要約しようとします。多くのHaltesがあります(alleHaltesフィールドに格納されていますが、1つのhalteも異なるルートを持つことができます)。 2)と(3)で、私はこのような相互参照テーブルからのrouteIDとhalteIDを更新しなければならないでしょう:routeID1 + halteID1、routeID1 + halteID2、routeID1 + halteID3 – Hans

関連する問題