Asp.net 如何在两个表中插入数据

Asp.net 如何在两个表中插入数据,asp.net,sql,database,Asp.net,Sql,Database,可能重复: 我所做的是创建两个表 表1-RollNo、Fname、Mname、Lname 表2-罗尔诺,马克 现在我已将外键设置为RollNo 现在的重点是:- 我在默认模式下使用ASP.NET中的DetailsView作为插入 在数据源配置中,我编写了SELECT查询作为两个表的内部联接 这太完美了 问题在于INSERT查询。它不允许我在两个表中插入值 从上面可以清楚地看出,对于我的插入操作,Fname,Mname,Lname来自表1,Marks来自表2。Rollno是外键。那么我该如何做呢

可能重复:

我所做的是创建两个表

  • 表1-RollNo、Fname、Mname、Lname
  • 表2-罗尔诺,马克
  • 现在我已将外键设置为RollNo

    现在的重点是:-

    我在默认模式下使用ASP.NET中的DetailsView作为插入

    在数据源配置中,我编写了SELECT查询作为两个表的内部联接
    这太完美了

    问题在于INSERT查询。它不允许我在两个表中插入值

    从上面可以清楚地看出,对于我的插入操作,Fname,Mname,Lname来自表1,Marks来自表2。Rollno是外键。那么我该如何做呢

    从单个用户窗体插入到两个表中


    请记住,我正在Asp.NET中使用DetailsView,它允许我一次只选择一个SQLDataSource。

    插入是通过设计单表操作完成的。如果要插入到两个相关表中,则需要先插入到主表中,检索刚刚创建的键,然后使用刚刚检索到的键插入到第二个表中。

    您可以使用存储过程和事务执行两条insert语句。但是您不能同时在两个表上执行插入。

    您不能同时在两个表中插入。首先,您必须先插入主键内容,然后再进入外键表。您可以使用@标识,它将为您的插入提供主键值,然后您可以使用它在第二个表中插入

    这样

      Insert into Table1(FName, MName, LName)
      values(@val1 , @val2, @val3)
    
      Insert into Table2(RollNo, Marks)
       values(@@Identity, val4) 
    

    使用SCOPE_IDENTITY()而不是@@IDENTITY-在繁忙的服务器上,您不能保证@@IDENTITY是您想要的。不允许我编辑它的代码…显示在Tablethanx@Greebo中只能使用一个InsertCommand标记来增加我的知识…这不是完全重复的。这个问题似乎(更多)与使用ASP.NET数据源组件有关。Prets,编辑你的问题以更好地集中注意力。并添加一些格式。@Henk-实际的问题只引用了一次
    ASP.NET
    ,他特别说
    问题在于插入查询