VB.net 调用带参数存储过程(转载)

 

--1:存储过程返回DataSet 的例子:

C# 代码 :通用类

  public static int SingleSTCD(DateTime StartTime,DateTime EndTime,int SMTP,string JL,string STDCD,string STCDSTR, out DataSet ds )
  {
   int ret=0;
   ds=null;
  
    OleDbConnection Constring=new OleDbConnection(Appraise.ConStr);
    OleDbCommand cmd=new OleDbCommand("P_Get_STCD_SingleAppraise_XunQi",Constring);
    try
    {
    OleDbDataAdapter ada=new OleDbDataAdapter();
     cmd.CommandType=CommandType.StoredProcedure;
     cmd.Parameters.Add("@StartTime", OleDbType.DBTimeStamp).Value=StartTime ;
     cmd.Parameters.Add("@EndTime", OleDbType.DBTimeStamp).Value=EndTime ;
     cmd.Parameters.Add("@SMTP", OleDbType.Integer).Value=SMTP ;
     cmd.Parameters.Add("@JL", OleDbType.VarChar, 50).Value=JL ;
     //cmd.Parameters.Add("@STDCD", OleDbType.VarChar, 50).Value=STDCD ;  //评价标准
     cmd.Parameters.Add("@STCDSTR", OleDbType.VarChar, 8000).Value=STCDSTR ;

     System.Data.DataSet data = new DataSet();
     ada.SelectCommand = cmd;
     ada.Fill(data,"table");
     ds = data;
     ret=ds.Tables[0].Rows.Count;
     if ( ret ==-1 )
     {
      return -1000; //无数据
     }
     else
     {
      return ret;
     }

    }
    catch(Exception e)
    {
     //数据库操作发生错误,返回错误代码
     System.Diagnostics.Debug.WriteLine(e.Message);
     return -1001;
    }
    finally
    {
     Constring.Close();
     cmd.Parameters.Clear();
    }

VB.net 调用:

  Private Sub BindingDataGrid_Query()
        Dim ds As System.Data.DataSet
        Zehua.Water.Appraise.SingleSTCD("1999-5-1", "1999-9-1", 1, "Ⅲ", "", "50181300,50185050,50181350,50185100,50185150,50185200,50185250,50181200,50185150,51282300", ds)
        DataGrid_Query.DataSource = ds
        DataGrid_Query.DataBind()
    End Sub

--1:存储过程返回数组字符串

  REM 执行存储过程,返回一数组
    Public Shared Function ExecuteSP_ToArrary(ByVal sConnString As String, ByVal Text_STCD As String, ByVal Text_TIME As String, ByRef TableInfo() As String)
        Dim conn As OleDbConnection = New OleDbConnection(sConnString)
        ReDim TableInfo(2)

        Try
            conn.Open()
            Dim command As OleDbCommand = New OleDbCommand("P_GET_QueryValue", conn)
            command.CommandType = CommandType.StoredProcedure
            Dim sqlParams() As OleDbParameter = {New OleDbParameter("@STCD", Text_STCD), New OleDbParameter("@GETM", Text_TIME), New OleDbParameter("@ReturnValue", OleDbType.VarChar, 8000), New OleDbParameter("@ReturnColumnCode", OleDbType.VarChar, 8000), New OleDbParameter("@ReturnColumnName", OleDbType.VarChar, 8000)}
            sqlParams(2).Direction = ParameterDirection.Output
            sqlParams(3).Direction = ParameterDirection.Output
            sqlParams(4).Direction = ParameterDirection.Output
            Dim i As Integer = 0
            While i < sqlParams.Length
                command.Parameters.Add(sqlParams(i))
                i += 1
            End While
            command.ExecuteNonQuery()
            If sqlParams(2).Value.ToString().Length > 0 Then
                TableInfo(0) = sqlParams(2).Value.ToString()
            Else
            End If

            If sqlParams(3).Value.ToString().Length > 0 Then
                TableInfo(1) = sqlParams(3).Value.ToString()
            Else
            End If

            If sqlParams(4).Value.ToString().Length > 0 Then
                TableInfo(2) = sqlParams(4).Value.ToString()
            Else
            End If

        Catch ex As Exception
            ZeHua.Log.exNoteBugs(ex, "SigleStcdEdit.aspx") 'sb.Append(ex.Message)
        Finally
            conn.Close()
        End Try


    End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值