当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > VB.net 调用带参数存储过程

ASP.NET
.Net中使用com组件后发生System.ArithmeticException异常的解决办法
SQL Server.net 和 OLE DB.net连接数据库的比较
后台更新DataTable行内容的方法
敏捷软件开发(原则,模式与实践)笔记1
确保文本框输入值为数值的代码
XML和数据库之间相互的映射
让你的.NET程序兼容不同版本的Dll文件。
.NET 的数据访问应用程序块(Data Access Application Block)
用控件仅一条指令实现界面换肤和多语言版本(YFSkins)
Microsoft User Interface Process Application Block 研究(3)
分享:处理Excel方法小结
基于ASP.NET实现全球化
.net 里面 protected private 的变量也可以访问(新发现)。
关于C#中{0}和{1}的问题初次在此发贴,问题对你易对我难,求救了
使用C#代码实现增加用户帐号
全世界都在关注-微软重大产品发布
教你做Rational Rose(UML Design)
OLE DB取得数据库的架构信息
VB 从零开始编外挂(三)
XPath序列之四

ASP.NET 中的 VB.net 调用带参数存储过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 60 ::
收藏到网摘: n/a

--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), <