信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索

VB.net中怎么访问存储过程和实例教程

查看数: 2988 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-2-26 17:27

正文摘要:

VB.net中怎么访问存储过程和实例教程  使用SQL存储过程有什么好处   ■SQL存储过程执行起来比SQL命令文本快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。   ■调用存 ...

回复

信息发布软件 发表于 2017-2-26 17:30:36
实例教程3


  1. 首先,在SqlServer中创建存储过程,在调用时分为有参数和没有参数两种情况,
  2.   先就简单的没有参数的情况简要的介绍:


  3.   假设存储过程如下:   CREATE PROC SelectAll



  4.       AS

  5.   SELECT * FROM StudentInf


  6.   则此sp的调用如下:

  7. SqlCommand selectCMD = new SqlCommand(“SelectAll”, conn);

  8.   //conn 为SqlConnection

  9.   selectCMD.CommandType = CommandType.StoredProcedure;


  10.   如果需要将结果集加到某个DataAdapter上,则可如下:

  11. SqlDataAdapter stuDA = new SqlDataAdapter();

  12.   stuDa.SelectCommand = selectCMD;

  13.   如果有参数:create proc andSelect

  14. @StudentId varchar(10),

  15.   @StudentName varchar(10),

  16.   As

  17.   Select * from StudentInf where StudentId = @StudentId and StudentName = @StudentName


  18.   则参数可以如下添加:

  19.  selectCMD.Parameters.Add(“@StudentId”, SqlDbType.NVarChar, 10);

  20.   selectCMD.Parameters.Add(“@StudentName”, SqlDbType.NvarChar, 10);


  21.   如果只有一个参数,也可以这样赋值:

  22.  SqlParameters onePara = selectCMD.Parameters.Add(“@StudentId”,                                         SqlDbType.NVarChar, 10);


  23.   onePara.Value = “ a string ”
复制代码


信息发布软件 发表于 2017-2-26 17:29:05
  1. 此页涉及到的存储过程的创建,在存储过程的创建中有源码

  2. 1、调用无参数存储过程

  3.         dim conn As New SqlConnection

  4.         dim FBasicDataRecord as new BasicDataRecord()

  5.         conn.ConnectionString = "Data Source=(local);Initial Catalog=LineManager;User ID=sa;Password=1"
  6.         conn.Open()

  7.         Dim cmd As SqlCommand
  8.         cmd = New SqlCommand("GetNewestData", conn)              -------要调用存储过程名称
  9.         cmd.CommandType = CommandType.StoredProcedure                         -----------关键,要想调用存储过程,需将

  10.                                                                                                                       commandtype类型设置为storedprocedure
  11.         Dim myReader As SqlDataReader
  12.         Try

  13.             myReader = cmd.ExecuteReader()       -------------执行存储过程
  14.             If myReader.Read() Then

  15.                 FBasicDataRecord.mySetDateTime = myReader.GetDateTime(0)
  16.                 FBasicDataRecord.myHalfHourCost = myReader.GetDecimal(1)
  17.                 FBasicDataRecord.myUnitTime = myReader.GetInt32(2)
  18.                 FBasicDataRecord.myPrepareTime = myReader.GetInt32(3)
  19.                 FBasicDataRecord.myLeastCurrency = myReader.GetDecimal(4)
  20.                 FBasicDataRecord.myUserName = myReader.GetString(5)
  21.                 Return True
  22.             Else
  23.                 Return False
  24.             End If
  25.         Catch ex As Exception
  26.             Return ex.Message

  27.         Finally
  28.             conn.close()

  29.         End Try

  30. 2、调用有参数存储过程

  31.         Dim cmd As SqlCommand

  32.         dim conn As New SqlConnection

  33.         conn.ConnectionString = "Data Source=(local);Initial Catalog=LineManager;User ID=sa;Password=1"
  34.         conn.Open()


  35.         cmd = New SqlCommand("ProcCharge", conn)          --------存储过程名称
  36.         cmd.CommandType = CommandType.StoredProcedure         ----------改变类型
  37.         Dim a As New SqlParameter("@CardNo", SqlDbType.VarChar)     ------------将存储过程中涉及的参数加入进来,并附

  38.                                                                                                                 值。就像给函数的各个参数赋值一样
  39.         a.Value = myCharge.myCardNo
  40.         cmd.Parameters.Add(a)
  41.         Dim b As New SqlParameter("@ChargeDateTime", SqlDbType.DateTime)
  42.         b.Value = myCharge.myChargeDateTime
  43.         cmd.Parameters.Add(b)
  44.         Dim c As New SqlParameter("@Charge", SqlDbType.Int)
  45.         c.Value = myCharge.myCharge
  46.         cmd.Parameters.Add(c)
  47.         Dim d As New SqlParameter("@UserName", SqlDbType.VarChar)
  48.         d.Value = myCharge.myUserName
  49.         cmd.Parameters.Add(d)
  50.         Dim e As New SqlParameter("@LastBalance", SqlDbType.Float)
  51.         e.Value = myCharge.myLeastBalance
  52.         cmd.Parameters.Add(e)
  53.         Dim f As New SqlParameter("@CurrentBalance", SqlDbType.Decimal)
  54.         f.Value = myCharge.myCurrentBalance
  55.         cmd.Parameters.Add(f)                                 ----------------参数块

  56.         Try
  57.             Return cmd.ExecuteNonQuery() > 0                         ------------------执行存储过程。当存储过程涉及到的是插入删除或

  58.                                                                        更新操作时,用executenonquery(),而如果是查询,则用executereader()
  59.         Catch ex As Exception
  60.             MsgBox(ex.Message)
  61.             Return False
  62.         Finally
  63.             conn.Close()
  64.         End Try

  65. 3、调用有返回值的存储过程

  66.         dim conn As New SqlConnection

  67.         conn.ConnectionString = "Data Source=(local);Initial Catalog=LineManager;User ID=sa;Password=1"
  68.         conn.Open()

  69.         Dim cmd As SqlCommand
  70.         cmd = New SqlCommand("procBalanceUserName", myConn.myConn)         ---------存储过程名称
  71.         cmd.CommandType = CommandType.StoredProcedure                         ----------改变类型
  72.         cmd.Parameters.Add(New SqlParameter("@CardNo", SqlDbType.VarChar))     -------添加参数,此为输入参数

  73.         cmd.Parameters("@CardNo").Value = CardNo
  74.         cmd.Parameters.Add(New SqlParameter("@MachineNo", SqlDbType.VarChar))
  75.         cmd.Parameters("@MachineNo").Value = MachineNo
  76.         cmd.Parameters.Add(New SqlParameter("@Balance", SqlDbType.Float, 20))          ---------定义输出参数
  77.         cmd.Parameters("@Balance").Direction = ParameterDirection.Output            -------输出参数用此标识
  78.         '输出参数必须有指定长度,否则不会成功。
  79.         cmd.Parameters.Add(New SqlParameter("@UserName", SqlDbType.VarChar, 10))        -------输出参数必须是名字,类

  80.                                                                                                                                    型,长度。不可省略。否则,会出错误。
  81.         cmd.Parameters("@UserName").Direction = ParameterDirection.Output
  82.         Try
  83.             cmd.ExecuteReader()                                          ---------------执行存储过程
  84.             myBalance = cmd.Parameters("@Balance").Value.ToString()          ----------将存储过程的返回值赋给定义的变量
  85.             myUserName = cmd.Parameters("@UserName").Value.ToString()

  86.         Catch ex As Exception
  87.             MsgBox(ex.Message)
  88.         Finally
  89.             Conn.Close()
  90.         End Try

  91. 总结一下,调用存储过程,首先,实例化sqlcommand,然后修改commandtype类型,如果参数,则给参数赋值或定义输出参数。然后执行。
复制代码

实例教程2

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2024-11-23 21:44 , Processed in 0.099364 second(s), 43 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表