Hi lejogeorge,
Please refer below sample.
Database
CREATE TABLE Students
(
[Id] Int Primary Key IDENTITY,
[Name] Varchar(50),
)
GO
CREATE TABLE Student_Details
(
[Id] int FOREIGN KEY REFERENCES Students(Id),
[Country] Varchar(50)
)
GO
CREATE PROCEDURE [InsertStudentDetails]
@Name varchar(50),
@Country varchar(50)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Id INT
INSERT INTO Students ([Name]) VALUES (@Name)
SELECT @Id = SCOPE_IDENTITY()
INSERT INTO Student_Details ([Id], [Country]) VALUES (@Id, @Country)
END
XML
<?xml version="1.0" encoding="utf-8" ?>
<Students>
<Student>
<Id>1</Id>
<Name>John Hammond</Name>
<Country>United States</Country>
</Student>
<Student>
<Id>2</Id>
<Name>Mudassar Khan</Name>
<Country>India</Country>
</Student>
<Student>
<Id>3</Id>
<Name>Suzanne Mathews</Name>
<Country>France</Country>
</Student>
<Student>
<Id>4</Id>
<Name>Robert Schidner</Name>
<Country>Russia</Country>
</Student>
</Students>
HTML
<asp:GridView ID="gvStudents" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Country" HeaderText="Country" />
</Columns>
</asp:GridView>
Namespaces
C#
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
VB.Net
Imports System.Data
Imports System.Configuration
Imports System.Data.SqlClient
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindGrid();
}
}
private void BindGrid()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("~/Students.xml"));
gvStudents.DataSource = ds;
gvStudents.DataBind();
foreach (DataRow row in ds.Tables[0].Rows)
{
string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("InsertStudentDetails", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Name", row["Name"]);
cmd.Parameters.AddWithValue("@Country", row["Country"]);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Me.BindGrid()
End If
End Sub
Private Sub BindGrid()
Dim ds As DataSet = New DataSet()
ds.ReadXml(Server.MapPath("~/Students.xml"))
gvStudents.DataSource = ds
gvStudents.DataBind()
For Each row As DataRow In ds.Tables(0).Rows
Dim conString As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using con As SqlConnection = New SqlConnection(conString)
Using cmd As SqlCommand = New SqlCommand("InsertStudentDetails", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@Name", row("Name"))
cmd.Parameters.AddWithValue("@Country", row("Country"))
con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
End Using
Next
End Sub
Screenshot