zoukankan      html  css  js  c++  java
  • 连接类

    一、SqlCommand

    1、执行带有参数的存储过程

    代码
     1     Sub a(ByVal connectionString As String)
     2         Using connection As New SqlConnection(connectionString)
     3             Using cmd = connection.CreateCommand
     4                 cmd.CommandType = CommandType.StoredProcedure
     5                 cmd.CommandText = "uspGetCustomerById"
     6 
     7                 Dim parm = cmd.CreateParameter
     8                 parm.ParameterName = "@Id"
     9                 parm.Value = "AROUT"
    10                 cmd.Parameters.Add(parm)
    11 
    12                 Dim id As String = cmd.Parameters("@Id").Value
    13             End Using
    14         End Using
    15     End Sub
    16 
    • sqlserver要求参数名与存储过程中定义的参数名相匹配,与参数的创建次序无关。
    • 第7~10行为参数的定义方法。
    • 第12行为访问参数的方法。

    2、ExecuteNonQuery方法

    代码
     1     Sub b(ByVal connectionString As String)
     2         Using connection As New SqlConnection(connectionString)
     3             Using cmd = connection.CreateCommand
     4                 cmd.CommandText = "UPDATE sales SET qty = qty + 1 WHERE qty > 50"
     5                 connection.Open()
     6                 Dim count As Integer = cmd.ExecuteNonQuery
     7             End Using
     8         End Using
     9     End Sub
    10 
    • 第4行为命令文本,为一个修改操作。
    • 第6行返回一个整数,表示操作所影响的行数。

    3、 ExecuteScalar方法

    当希望查询返回单行单列时,使用ExecuteScalar方法

    代码
     1     Sub c(ByVal connectionString As String)
     2         Using connection As New SqlConnection(connectionString)
     3             Using cmd = connection.CreateCommand
     4                 cmd.CommandText = "SELECT COUNT(*) FROM Sales"
     5                 connection.Open()
     6                 Dim count As Integer = cmd.ExecuteScalar
     7                 MessageBox.Show(count.ToString)
     8             End Using
     9         End Using
    10     End Sub
    11 

    4、ExecuteReader方法与SqlDataReader对象

    代码
     1     Sub d(ByVal connectionString As String)
     2         Using connection As New SqlConnection(connectionString)
     3             Using cmd = connection.CreateCommand
     4                 cmd.CommandText = "SELECT stor_id, ord_num FROM Sales"
     5                 connection.Open()
     6                 Dim rdr = cmd.ExecuteReader
     7                 While rdr.Read
     8                     MessageBox.Show(rdr("stor_id"& "" & rdr("ord_num"))
     9                 End While
    10             End Using
    11         End Using
    12     End Sub
    13 
    • 第6行,只有通过cmd.ExecuteReader方法才能生成rdr
    • 第7~9行,持续遍历结果,直到数据的末尾(Read方法返回False)

     二、SqlDataAdapter

    1、Fill方法

    如何用Fill方法加载一个DataTable

    代码
     1     Sub e(ByVal connectionString As String)
     2         Using connection As New SqlConnection(connectionString)
     3             Using cmd = connection.CreateCommand
     4                 cmd.CommandText = "SELECT pub_id,pub_name FROM publishers"
     5 
     6                 Dim pubsDataSet As New DataSet("Pubs")
     7                 Dim da As New SqlDataAdapter(cmd)
     8                 da.Fill(pubsDataSet, "publishers")
     9             End Using
    10         End Using
    11     End Sub
    12 
    • 第7行生成具有SelectCommand的适配器
    • 第8行填充pubsDataSet.Tables("publishers")表

    2、Update方法

    代码
     1     Sub f(ByVal connectionString As String)
     2         Using connection As New SqlConnection(connectionString)
     3             Using cmd = connection.CreateCommand
     4                 cmd.CommandText = "SELECT * FROM publishers"
     5 
     6                 Dim pubsDataSet As New DataSet("Pubs")
     7                 Dim da As New SqlDataAdapter(cmd)
     8                 Dim bldr As New SqlCommandBuilder(da)
     9                 da.Fill(pubsDataSet, "publishers")
    10                 'modify data here
    11                 pubsDataSet.Tables("publishers").Rows(0)("pub_name"= "Hello"
    12                 pubsDataSet.Tables("publishers").Rows.Add("9911""tailspin Toys""Paris"Nothing"France")
    13                 da.UpdateBatchSize = 0
    14                 da.Update(pubsDataSet, "publishers")
    15             End Using
    16         End Using
    17         MessageBox.Show("Update Complete")
    18     End Sub
    19 
    • 第7、8行用来生成具有4个命令的适配器
    • 第13行使修改结果批量保存到数据库,以提高性能。
    • 第14行用来将第11、12行修改的数据传送到数据库中。
  • 相关阅读:
    layoutSubviews, setNeedsLayout, layoutIfNeeded
    UIViewController 专题
    UIBarButtonItem
    ios method swizzling
    Method Swizzling
    ios逆向工程
    IOS中通知中心NSNotificationCenter应用总结
    Swift 进阶
    swift 2.0 语法 字符串
    C++Builder中MessageBox的基本用法
  • 原文地址:https://www.cnblogs.com/cuishengli/p/1722356.html
Copyright © 2011-2022 走看看