2015年3月20日 星期五

ConnStr

引用

Public Module SQL
    Private ConnStr as string = "........."
    Public Function RunSQL(Byval SQL As String) As Integer
        Using Conn As new SqlConnection(ConnStr)
            Using Cmd = Conn.CreateCommand()
                Conn.Open()
                Cmd.CommandText = SQL
                Try
                   Return Cmd.ExecuteNonQuery
                Catch ex as Exception
                   '.....錯誤處理....
                Finally
                   Conn.Close()
                End Catch
            End Using
        End Using
    Edn Function

    'Public Function CreateTable(byval SQL as string) as DataTable
    'Public Function CreateDataReader(byval SQL as string) as SqlDataReader
End Module

'==外部呼叫===

SQL.RunSQL("Update MyTB Set A= '2'") '一行....


Private Sub 讀取程序(ByVal vSQL As String, Optional ByVal v資料表名稱 As String = Nothing)
    If v資料表名稱 = Nothing Then
        Dim v分割() As String = vSQL.Split(" ")
        v資料表名稱 = v分割(Array.IndexOf(v分割, "from") + 1) ' 識別資料表名稱
    End If
    If IsNothing(資料集.Tables(v資料表名稱)) = False Then 資料集.Tables(v資料表名稱).Clear()
    資料表配接器.SelectCommand = New OleDb.OleDbCommand(vSQL, SQL連線)
    資料表配接器.Fill(資料集, v資料表名稱)
End Sub
'===========================================================

Private Sub 列印_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles 列印.PrintPage
    Dim v總資料() As String = v列印字串.Split(New String() {vbNewLine}, StringSplitOptions.None) ' 分割字串
    While v列印行數 < v一頁行數 * v頁數 And v列印行數 < v總資料.Length
        e.Graphics.DrawString(v總資料(v列印行數), v列印字型, Brushes.Black, 100, vY)
        vY += v列印字型.Height
        v列印行數 += 1
    End While
    If v列印行數 = v一頁行數 * v頁數 And v列印行數 < v總資料.Length Then
        e.HasMorePages = True
        vY = 0 : v頁數 += 1
    Else
        e.HasMorePages = False
    End If
End Sub

沒有留言:

張貼留言