VB.NET编程语言对于数据库的操作,我们51CTO以前也介绍了不少。比如VB.NET数据库压缩的实现方法,VB.NET操作MySql数据库的具体操作技巧等等。那么今天大家将会了解到VB.NET调用sql Server存储过程的相关应用方法。
定义数据链接部分省略,myConn为链接对象 ProcName为存储过程名
1.VB.NET调用sql Server存储过程时无返回值
@H_404_10@PrivateFunctionsqlProc1(ByValProcNameAsString)AsBoolean
- '定义数据链接部分省略,myConn为链接对象ProcName为存储过程名
@H_404_10@DimmyCommandAsNewsqlClient.sqlCommand(ProcName,myConn)- WithmyCommand
@H_404_10@.CommandType=CommandType.StoredProcedure- .Parameters.Add("@CodeType",sqlDbType.VarChar,20).Value="年级编码"
@H_404_10@Try- .ExecuteNonQuery()
@H_404_10@ReturnTrue- CatchexAsException
@H_404_10@ReturnFalse- EndTry
@H_404_10@EndFunction
@H_404_10@PrivateFunctionsqlProc1(ByValProcNameAsString)AsString
- '定义数据链接部分省略,myConn为链接对象
@H_404_10@DimmyCommandAsNewsqlClient.sqlCommand(ProcName,20).Value="年级编码" @H_404_10@.Parameters.Add("@NewCode",20). Direction=ParameterDirection.Output- Try
@H_404_10@.ExecuteNonQuery()- Return.Parameters(1).Value()
@H_404_10@CatchexAsException- Return"无编码生成"
@H_404_10@EndTry- EndFunction
@H_404_10@'VB.NET代码
- PrivateFunctionsqlProc2(ByValProcNameAsString,ByValParam1AsString)AsDataSet
@H_404_10@'定义命令对象,并使用储存过程- DimmyCommandAsNewsqlClient.sqlCommand
@H_404_10@myCommand.CommandType=CommandType.StoredProcedure- myCommand.CommandText=ProcName
@H_404_10@myCommand.Connection=myConn- '定义一个数据适配器,并设置参数
@H_404_10@DimmyDapterAsNewsqlClient.sqlDataAdapter(myCommand)- myDapter.SelectCommand.Parameters.Add ("@name",20).Value=Param1
@H_404_10@'定义一个数据集对象,并填充数据集- DimmyDataSetAsNewDataSet
@H_404_10@Try- myDapter.Fill(myDataSet)
@H_404_10@CatchexAsException- EndTry
@H_404_10@ReturnmyDataSet- EndFunction
存储过程代码
@H_404_10@CreateProcTest@namevarchar(20)As
- Select*FromEC_GradewherecGradeName=@name
@H_404_10@GO- ***如果将存储过程修改部分内容,可以做为查询使用
@H_404_10@CREATEProcTest- @namevarchar(200)=''
@H_404_10@--此处应该注意200为查询条件的长度,可以根据实际情况而定; 但不建议用于过长的查询条件- As
@H_404_10@Declare@sql1varchar(8000)- if@name<>''
@H_404_10@Select@sql1='Select*FromEC_Gradewhere'+@name- else
@H_404_10@Select@sql1='Select*FromEC_Grade'- exec(@sql1)
@H_404_10@GO