【问题标题】:How do I INSERT info from one table into its LINK table?如何将一个表中的信息插入到它的 LINK 表中?
【发布时间】:2011-05-25 15:31:33
【问题描述】:

我正在尝试构建一个 asp.net 应用程序,其中有三个表。

tblRoute
tblHalte
tblHalteRoute

我想在 tblHalteRoute 中插入一个 routeID,并为每个 routeID 插入多个halteID

TblRoute 有所需的字段 (routeID(1) &
allHaltes[halteID1,halteID2,halteID3])
--> 所以每条路由都有多个 Haltes,我可以通过解析 allHaltes 字段并使用 IDS 来访问它们。

我想做的是像这样更新 tblHalteRoute:

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

将这些值插入 tblHalteRoute .. 我真的不确定从哪里看或如何开始,我尝试在选择之前使用带有插入的 SUBquery,但没有成功。

【问题讨论】:

    标签: sql asp.net hyperlink insert-into


    【解决方案1】:

    如果我对您的理解正确,您正在尝试透视数据 - 例如

    Route 1 Halte 1
    Route 1 Halte 2
    Route 1 Halte 3
    
    -->
    
    Route 1 Halte 1 Halte 2 Halte 3
    

    我还假设您的意思是 LINQ 而不是 LINK(就像在数据访问机制中一样)

    如果是这种情况,您可以编写一个函数来执行以下操作:

    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
    

    值得注意的是,您假设您的 Route 表中的 Id 字段将比 Ids 多 = 这对于您的应用程序来说可能是一个有效的假设,但即使是这样,我也会觉得很危险 - 我' d 建议您正确存储它(即保持相关性),然后根据需要仅在每一行 For Each - 那么可用 ID 的数量没有限制。

    【讨论】:

    • Hej Basiclife,感谢您的快速回复。使用 LINK 表我提供了一个交叉引用表(如果我是正确的,通过它们的 IDS 连接两个表?)我必须承认你的答案对我来说并不完全清楚(不是那种经验)。我将尝试回顾一条路线有许多 Halte(存储在字段 alleHaltes(除以 ,s)中,但一条 Halte 也可以有不同的路线。所以如果我用 ID(1)和halte(1)创建一条新路线( 2) 和 (3),我必须像这样从交叉引用表中更新 routeID 和halteID。routeID1 +halteID1,routeID1 +halteID2,routeID1 +halteID3
    猜你喜欢
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多