用dataSet.Tables["table"].Rows[0][0].Tostring()就可以得到的

解决方案 »

  1.   

    Dim DS As DataSet
        Dim MyConnection As SqlConnection
        Dim MyDataAdapter As SqlDataAdapter    'Create a connection to the SQL Server.
        MyConnection = New SqlConnection("server=(local);database=pubs;Trusted_Connection=yes")    'Create a DataAdapter, and then provide the name of the stored procedure.
        MyDataAdapter = New SqlDataAdapter("GetAuthorsByLastName", MyConnection)    'Set the command type as StoredProcedure.
        MyDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure    'Create and add a parameter to Parameters collection for the stored procedure.
        MyDataAdapter.SelectCommand.Parameters.Add(New SqlParameter("@au_lname", _
       SqlDbType.VarChar, 40))    'Assign the search value to the parameter.
        MyDataAdapter.SelectCommand.Parameters("@au_lname").Value = Trim(txtLastName.Text)    'Create and add an output parameter to Parameters collection. 
        MyDataAdapter.SelectCommand.Parameters.Add(New SqlParameter("@RowCount", _
        SqlDbType.Int, 4))    'Set the direction for the parameter. This parameter returns the Rows returned.
        MyDataAdapter.SelectCommand.Parameters("@RowCount").Direction = ParameterDirection.Output    DS = New DataSet() 'Create a new DataSet to hold the records.
        MyDataAdapter.Fill(DS, "AuthorsByLastName") 'Fill the DataSet with the rows returned.    'Get the number of rows returned, and then assign it to the Label control.
        'lblRowCount.Text = DS.Tables(0).Rows.Count().ToString() & " Rows Found!"
        lblRowCount.Text = MyDataAdapter.SelectCommand.Parameters(1).Value & " Rows Found!"    'Set the data source for the DataGrid as the DataSet that holds the rows.
        Grdauthors.DataSource = DS.Tables("AuthorsByLastName").DefaultView    'Bind the DataSet to the DataGrid. 
        'NOTE: If you do not call this method, the DataGrid is not displayed!
        Grdauthors.DataBind()    MyDataAdapter.Dispose() 'Dispose of the DataAdapter.
        MyConnection.Close() 'Close the connection.
      

  2.   

    调用:
    SqlParameter[] paras = { new SqlParameter("@a",SqlDbType.Int),
                             new SqlParameter("@b",SqlDbType.Int),
          };
    paras[0].Value = a;
    paras[1].Direction = ParameterDirection.Output;
    int rc = RunSP("sp_GetProductIdByResourceId", paras);
    int b = para[1].Value;
    DataAccess库中程序的主要部分如下:
    // 执行store procedure
    protected int RunSP(string procName, SqlParameter[] paras)
    {
        SqlCommand cmd = CreateCommand(procName,paras);
        try {
    conn.Open();
    cmd.ExecuteNonQuery();
    return (int)cmd.Parameters["@_Result"].Value;
    }
        catch
    {
        return DATABASEERROR;
    }
        finally
    {
    if (conn.State != ConnectionState.Closed)
        conn.Close();
    }
    }protected int RunSP(string procName, SqlParameter[] paras, DataSet ds, string tableName)
    {
        SqlDataAdapter da = new SqlDataAdapter(CreateCommand(procName,paras));
        try {
    da.Fill(ds, tableName);
            }
        catch {
    return DATABASEERROR;
            }
       finally {
             if (conn.State != ConnectionState.Closed)
        conn.Close();
    }
       return (int)da.SelectCommand.Parameters["@_Result"].Value;
    }// 构建Command对象
    private SqlCommand CreateCommand(string procName, SqlParameter[] paras)
    {
        SqlCommand cmd = new SqlCommand(procName,conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@_Result",SqlDbType.Int);
        cmd.Parameters["@_Result"].Direction = ParameterDirection.ReturnValue;
        foreach (SqlParameter para in paras) 
        {
           cmd.Parameters.Add(para);
        }
        return cmd;
    }