SqlConnection,SqlDataAdapter,SqlCommand,SqlParameter

來源:互聯網
上載者:User

       這次做vb.net版機房收費系統中常常使用這樣一些類——SqlConnection,SqlDataAdapter,SqlCommand,SqlParameter,這些類都是SqlClient類,SqlClient類位於System.Data命名空間中,此命名空間在ADO.NET中也可以算的上是核心部分了,下面我就來分別介紹一下這幾個常用類

 

1.SqlConnection類:提供了與SQL Server資料庫的串連。

在構造SqlConnection對象時,可以把連接字串指定為一個參數,連接字串包含了開啟資料庫連接所需要的所有資訊。下面是使用SqlConnection類初始化一個連線物件,可以串連SQL Server 資料庫,該對象在連接字串中分別使用了:電腦名稱:chenjinrong,資料庫名:MychargeTwo,SQL Server的使用者名稱,和相應的密碼。

DimsqlConnectStr As SqlConnection = New SqlConnection("server=chenjinrong;database=MychargeTwo;uid=sa;pwd=123456")

  平時運用的時候一旦初始化了一個連線物件,就可以調用SqlConnection對象的方法了,如:

SqlConnectStr.Open() '開啟資料庫

SqlConnectStr.Close() '關閉資料庫

 

2.SqlCommand類:執行資料存放區的一個SQL命令

這個命令通常指增,刪,改,查命令,執行的查詢可以含參數,也可以不含,雖然SqlCommand類的建構函式有很多吧,但是最簡單的一種還是不含參數的方法。下面是說如何初始化一個SqlCommand對象。

 

 
      Dim cmdd As SqlCommand =NewSqlCommand ()

 

   當你初始化了對相關就可以設定需要的屬性和方法來執行任務了,下面介紹執行查詢前必須給SqlCommand設定的一些屬性

 

1.Connection屬性

該屬性被設定為一個SqlConnection對象,為了使命令執行成功,必須在執行命令時開啟串連

 

          cmdd.Connection = sqlConnection1

 

2.CommandText屬性

該屬性指定要執行的SQL語句或預存程序

例如:

                 

Dim sqlConnectStr As SqlConnection = New SqlConnection("server=chenjinrong;database=MychargeTwo;uid=sa;pwd=123456")Dim cmdd AsSqlCommand =New SqlCommand ()cmdd.Connection= sqlConnection1Dim sql2 As String = "insert intoStuBasicInfo(CardNo,StuNo,StuName,StuSex,System,Status,Grade,Classs,Balance,Explain,UserName,RegDay,RegTime,IsCheckout)values(@TxtCardNo,@TxtStuNo,@TxtStuName,@CmbStuSex,@TxtSystem,@CmbStatus,@TxtGrade,@TxtClass,@TxtBalanced,@TxtExplain,@UserName,@Day,@Time,@IsCheckOut)"  ’@變數表示SQL語句中的預留位置,需要用參數去填充cmdd.CommandText= sql2

    

3.Parameters屬性

該屬性是用來訪問SqlCommand對象的Parameter集合的,一旦訪問了此集合,就可以利用它的屬性和方法在集合中建立一個或多個參數了

 

我們在介紹CommandText屬性的時候舉得例子中,好多首碼為@的變數,這是SQL語句中的預留位置,需要建立參數,在執行SQL語句的時候這些參數去向預留位置插入值

 

例如:

Dim sqlConnectStr As SqlConnection = New SqlConnection("server=chenjinrong;database=MychargeTwo;uid=sa;pwd=123456")Dim cmdd AsSqlCommand =New SqlCommand ()cmdd.Connection= sqlConnection1Dim sql2 As String = "insert intoStuBasicInfo(CardNo,StuNo,StuName,StuSex,System,Status,Grade,Classs,Balance,Explain,UserName,RegDay,RegTime,IsCheckout)values(@TxtCardNo,@TxtStuNo,@TxtStuName,@CmbStuSex,@TxtSystem,@CmbStatus,@TxtGrade,@TxtClass,@TxtBalanced,@TxtExplain,@UserName,@Day,@Time,@IsCheckOut)"  ’@變數表示SQL語句中的預留位置,需要用參數去填充        cmdd.CommandText= sql2
'下面是填充上面的預留位置的,建立參數,執行SQL語句的時候這些參數去向預留位置插入值        cmdd.Parameters.Add(NewSqlParameter("@TxtCardNo", StuInfor.CardNo))        cmdd.Parameters.Add(NewSqlParameter("@TxtStuNo", StuInfor.StuNo))            cmdd.Parameters.Add(NewSqlParameter("@TxtStuName", StuInfor.StuName))        cmdd.Parameters.Add(NewSqlParameter("@CmbStuSex", StuInfor.StuSex))        cmdd.Parameters.Add(NewSqlParameter("@TxtSystem", StuInfor.System))        cmdd.Parameters.Add(NewSqlParameter("@CmbStatus", StuInfor.Status))        cmdd.Parameters.Add(NewSqlParameter("@TxtGrade", StuInfor.Grade))        cmdd.Parameters.Add(NewSqlParameter("@TxtClass", StuInfor.Classs))        cmdd.Parameters.Add(NewSqlParameter("@TxtBalanced", StuInfor.Balance))        cmdd.Parameters.Add(NewSqlParameter("@TxtExplain", StuInfor.Explain))        cmdd.Parameters.Add(NewSqlParameter("@UserName", StuInfor.UserName))        cmdd.Parameters.Add(NewSqlParameter("@Day", StuInfor.RegDay))        cmdd.Parameters.Add(NewSqlParameter("@Time", StuInfor.RegTime))        cmdd.Parameters.Add(NewSqlParameter("@IsCheckOut", StuInfor.IsCheckOut))

 4.ExecuteNonQuery 方法

  此方法是用來執行SQL語句的

  下面是向表StuBasicInfo中插入資料的完整代碼 

          
Dim sqlConnectStr As SqlConnection = New SqlConnection("server=chenjinrong;database=MychargeTwo;uid=sa;pwd=123456")Dim cmdd As SqlCommand =New SqlCommand ()cmdd.Connection = sqlConnection1Dim sql2 As String = "insert into StuBasicInfo (CardNo,StuNo,StuName,StuSex,System,Status,Grade,Classs,Balance,Explain,UserName,RegDay,RegTime,IsCheckout)values(@TxtCardNo,@TxtStuNo,@TxtStuName,@CmbStuSex,@TxtSystem,@CmbStatus,@TxtGrade,@TxtClass,@TxtBalanced,@TxtExplain,@UserName,@Day,@Time,@IsCheckOut)"  ’@變數表示SQL語句中的預留位置,需要用參數去填充                                           cmdd.CommandText = sql2                                                             '下面是填充上面的預留位置的,建立參數,執行SQL語句的時候這些參數去向預留位置插入值             cmdd.Parameters.Add(New SqlParameter("@TxtCardNo", StuInfor.CardNo))     cmdd.Parameters.Add(New SqlParameter("@TxtStuNo", StuInfor.StuNo))     cmdd.Parameters.Add(New SqlParameter("@TxtStuName", StuInfor.StuName))     cmdd.Parameters.Add(New SqlParameter("@CmbStuSex", StuInfor.StuSex))     cmdd.Parameters.Add(New SqlParameter("@TxtSystem", StuInfor.System))     cmdd.Parameters.Add(New SqlParameter("@CmbStatus", StuInfor.Status))     cmdd.Parameters.Add(New SqlParameter("@TxtGrade", StuInfor.Grade))     cmdd.Parameters.Add(New SqlParameter("@TxtClass", StuInfor.Classs))     cmdd.Parameters.Add(New SqlParameter("@TxtBalanced", StuInfor.Balance))     cmdd.Parameters.Add(New SqlParameter("@TxtExplain", StuInfor.Explain))     cmdd.Parameters.Add(New SqlParameter("@UserName", StuInfor.UserName))     cmdd.Parameters.Add(New SqlParameter("@Day", StuInfor.RegDay))     cmdd.Parameters.Add(New SqlParameter("@Time", StuInfor.RegTime))     cmdd.Parameters.Add(New SqlParameter("@IsCheckOut", StuInfor.IsCheckOut))     sqlConnection1.Open()  '開啟串連     cmdd.ExecuteNonQuery() '執行SQL語句,並把資料插入到資料庫中     sqlConnection1.Close()

3.SqlDataAdapter類

   像SqlCommand類一樣,SqlDataAdapter類也有其相應的屬性和方法

 

1.SelectCommand屬性

該屬性用於把SQL Server資料庫中的資料填充到DataSet中,要從資料存放區中讀取資料,必須先設定SqlDataAdapter類的SelectCommand屬性。該屬性是一個SelectCommand對象,用來指定選取哪些資料和如何選取這些資料。為此SelectCommand也有其自己的屬性

  • Connection:設定用來訪問資料存放區的SqlConnection對象
  • CommandText:設定用來選取資料的SQL語句或預存程序名稱

下面是設定這些屬性的代碼

Dim data As New SqlDataAdapter() '定義一個SqlDataAdapter變數        data.SelectCommand = New SqlCommand()data.SelectCommand.Connection = sqlConnection1 '把Connection屬性設定為一個有效連線物件data.SelectCommand.CommandText = "select CardNo,Status from StuBasicInfo order by StuInfo.CardNo,StuInfo.Status"

 

2.Fill方法

此方法可以在DataSet對象中填充由SqlDataAdapter對象使用其SelectCommand從資料存放區中檢索到的資料

 

 Dim data As New SqlDataAdapter() '定義一個SqlDataAdapter變數        Dim das As DataSet = New DataSet() data.SelectCommand = New SqlCommand() data.SelectCommand.Connection = sqlConnection1 '把Connection屬性設定為一個有效連線物件 data.SelectCommand.CommandText = "select CardNo,Status from StuBasicInfo order by StuInfo.CardNo,StuInfo.Status" data.Fill(das, "StuBasicInfo")

  以上是我對自己這部分知識的歸納,希望對正在學習這部分知識的朋友有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.