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