intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

bài tập kỹ thuật load XML vào dataset và insert vào database

Chia sẻ: Nguyễn Thị Ngọc Huỳnh | Ngày: | Loại File: PDF | Số trang:4

140
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

đặt ra 1 bài toán : bạn được bên A giao cho dữ liệu của 1 bảng (User) bằng XML và yêu cầu bạn Insert toàn bộ dữ liệu đó vào DB của mình. Mình sẽ giải quyết như sau: file.xml 1 admin

Chủ đề:
Lưu

Nội dung Text: bài tập kỹ thuật load XML vào dataset và insert vào database

  1. đặt ra 1 bài toán : bạn được bên A giao cho dữ liệu của 1 bảng (User) bằng XML và yêu cầu bạn Insert toàn bộ dữ liệu đó vào DB của mình. Mình sẽ giải quyết như sau: file.xml 1 admin 3349311e8bdb5b11d9f49ff2047e5631 admin@ash.com 2 user12 e493716f73d8e1c410bfbfe3e910d3af user12@ash.com 3 user1 f65696f9d46fa5b8c70b2e20c045cdbf user1@ash.com trong trang aspx bạn tạo 1 form upload cho người dùng để upload file xml lên sau đó trong code behind aspx.vb Public ValueInsert As Integer = 0 Private Sub btnImport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnImport.Click Try Dim strEmail As String Dim strPassword As String Dim strUserName As String 'luu ra folder tam tren may chu Dim strTempPath As String = Server.MapPath("~/Temp/") 'upload len folder tam If fileUpload.HasFile Then 'chi upload file xml If fileUpload.PostedFile.ContentType = "text/xml" Then 'luu xuong may chu
  2. fileUpload.SaveAs(strTempPath & fileUpload.FileName) 'khoi tao dataset Dim ds As DataSet = New DataSet() 'load file sau khi upload vao stream Dim fsReadXml As System.IO.FileStream = New IO.FileStream(strTempPath & fileUpload.FileName, IO.FileMode.Open) 'dataset doc file xml tu stream ds.ReadXml(fsReadXml) 'dong stream fsReadXml.Close() 'khoi tao 1 datatable de dua dataset vao Dim dbTable As DataTable = ds.Tables(0) 'duyet den tung dong trong table For Each row As DataRow In dbTable.Rows 'gan cho moi bien vao cac truong strEmail = row("email").ToString() strPassword = row("password").ToString() strUserName = row("username").ToString() If strEmail = vbNullString Then strEmail = " " End If If strPassword = vbNullString Then strPassword = " " End If If strUserName = vbNullString Then strUserName = " " End If 'tao user Me.CreateUser(strUserName, strPassword, strEmail) 'tang gia tri insert len 1 sau moi lan insert ValueInsert = ValueInsert + 1 Next 'xoa file vua upload sau khi import xong File.Delete(strTempPath & fileUpload.FileName) Response.Write("* Delete Temp File") 'ok Response.Write("* Import Complete") 'ghi ra da insert bao nhieu ban ghi Response.Write("* Insert " & ValueInsert.ToString() & " records.") Else
  3. Response.Write("* Please choose XML File") End If Else Response.Write("* File Upload Require") End If Catch ex As Exception Response.Write(ex.Message) End Try end sub Public Sub CreateUser(ByVal NickName As String, ByVal Password As String, ByVal Email As String, ByVal Salt As String) Try 'khoi tao ket noi dim dataConn As System.Data.SqlClient.SqlConnection dim dataComm As System.Data.SqlClient.SqlCommand If dataConn Is Nothing Then dataConn = New System.Data.SqlClient.SqlConnection '* neu trang thai cua dataConn la Closed thi moi mo them ket noi If dataConn.State = ConnectionState.Closed Then dataConn.ConnectionString = vbNullString dataConn.ConnectionString = strDataString dataConn.Open() End If If dataComm Is Nothing Then dataComm = New System.Data.SqlClient.SqlCommand dataComm.Connection = dataConn dataComm.CommandTimeout = 20 dataComm.CommandType = CommandType.Text 'Query Insert Dim strQuery As String = "INSERT INTO [tbl_User]([UserName],[Password],[Email]) VALUES('" & NickName & "','" & Password & "','" & Email & "')" 'Execute dataComm.CommandText = strQuery dataComm.ExecuteNonQuery() 'dong connect sau khi insert If Not dataConn Is Nothing Then If dataConn.State = ConnectionState.Open Then dataConn.Close() dataConn = Nothing Catch ex As Exception Throw New ApplicationException(ex.Message) End Try End Sub
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2