'建立 DataAdapter 物件
Dim objCmd As New OleDbDataAdapter("Select * From 成績單", objConn)
'建立 CommandBuilder 物件
Dim objCB As OleDbCommandBuilder = New OleDbCommandBuilder(objCmd)
'建立 DataSet 物件,並將 SelectCommand 的執行結果置入 DataSet 物件中
Dim DS As New DataSet()
objCmd.Fill(DS, "成績單")
'建立 myTable 為 DataTable 物件,將 DataSet 物件的成績單資料表指定給 myTable
Dim myTable As DataTable = DS.Tables("成績單")
'修改資料列
myTable.Rows(6)("統計") = 80
'刪除資料列
myTable.Rows(4).Delete()
'新增資料列
Dim myRow As DataRow = myTable.NewRow()
myRow("學號") = "A8608011"
myRow("姓名") = "小丸子"
myRow("會計") = 95
myRow("統計") = 70
myTable.Rows.Add(myRow)
'將 DataSet 物件的資料更新到來源資料
objCmd.Update(DS, "成績單")
alen1985 發表在 痞客邦 留言(0) 人氣(238)
Imports System.Data.SqlClient
Public Class Form1
Dim da As SqlDataAdapter
Dim ds As DataSet
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim strSql As String = "select * from member"
Dim strConn As String = "Data Source = . ; Initial Catalog = Northwind ; Integrated Security = true"
Dim conn As New SqlConnection(strConn)
alen1985 發表在 痞客邦 留言(0) 人氣(1,174)
ADO.NET 1.1以前,要從資料庫中把要的資料讀取到DataTable需要經過以下的過程
建立Connection
建立Command
使用DataAdapter
將資料Fill到DataSet
從DataSet中讀取第0個DataTable
alen1985 發表在 痞客邦 留言(1) 人氣(575)
在撰寫Connection的時後,如果Conn在Open後如果沒有Close的話,就會造成Connection一直連著直到GC起來才能夠把資源釋放
這樣的現象只要在錯誤處理上沒有處理好,很容易就會造成這樣的結果,而這樣的結果並不會造成Web Server的負擔,有負擔的是後端的SQL Server
這樣會產生一個有趣的現象,當Web Server與SQL Server不同主機的時候,因為在Web Server上撰寫程式沒有控制好,造成SQL Server的資源消耗....可是由於Web Server本身並不會有感覺(損耗的是SQL Server),所以Web Server不會因為資源不足啟動GC來回收資源→造成SQL的資源浪費又無法有效回收
而要避免這樣的情形發生,.NET Framework 2.0提供了一個新的方式,就是使用Using來宣告變數,那麼在程式執行到End Using的時候就會自動的把該變數做資源回收
alen1985 發表在 痞客邦 留言(0) 人氣(1,069)
前言
在上一期中,我們介紹了透過組合 SQL 語法;以較為簡單的方式侵入網站系統,本期再進一步介紹透過 SQL Server 本身強大的功能,可能完成進一步侵入的動作。
SQL Injection – 駭客的 SQL填空遊戲(下)
SQL Server 本身提供了非常多的函數、預存程序、延伸預存程序來輔助 T-SQL,好讓程式設計師透過 T-SQL 完成商業邏輯運作所需的預存程序。但一般的使用者較熟悉以 Visual Basic 等程式語言來撰寫存取資料的程式,因而對此類的功能所知不多,更別提要如何防範駭客透過這一類的功能來遂行其目的。
alen1985 發表在 痞客邦 留言(0) 人氣(1,298)

前言
電腦系統的安全一直是你我所重視的,但或許你一直在替系統安裝修正檔,防毒軟體,架設防火牆,劃定非軍事區等等,但可能由於撰寫程式碼的疏忽,你的背後正有一個自己營造的大漏洞。
SQL Injection – 駭客的 SQL填空遊戲
在現今的應用程式架構中,大部分都含有資料庫,以容納各式各樣的資料。而在各類型的資料庫中,又以結構化查詢語言(SQL Structure Query Language)為基礎的關聯式資料庫管理系統(RDBMS Relational Database Management System)最為流行。
alen1985 發表在 痞客邦 留言(0) 人氣(4,002)
什麼是 .NET DataSet?
o ADO.NET(.NET Framework 所提供的資料存取技術解決方案) 中最為主要的元件。
o 它是一種資料容器(container)物件,是屬於記憶體的快取資料(in-memory cache of data)。
o 它完全獨立於資料來源(如 資料庫系統),是離線的(disconnected)。
o 它所讀取的資料來源可以是:
o Database (SQL Server, Oracle ...)
o Object (如 MQ 物件)
o Web Service
o 它內部可以包含多個表格(Table)的關連,並且可以同時從多個資料來源讀取資料至所定義的表格,儲存成為一列列(row)的資料。
o 它內部的格式是以 XML 所定義的,所以可以序列化(serialized)為 XML 字串,以方便當成參數來傳遞。(例如,透過 Web Service 傳至 EJB Session Bean)。
DataSet 與 RDB 的連結關係alen1985 發表在 痞客邦 留言(0) 人氣(568)