Hi Guys,

I just want some one to look over this for me really, and possibly can some one tell me how to call the function! as you can see below (VB.Net Code) this is running of a button and it will connect to SQL obtain the relevant information and then write it to a CSV file, but unfortunately im stuck! due to looking at this code for the past hour or so i cant actually think how to do it :-/

Imports System.Data.SqlClient

Public Class Form1

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        callReport("FULL", "Self Employed Weekly Extract")

    End Sub

 

    Private Sub callReport(ByVal report_type As String, ByVal Address As String)

        If report_type = "FULL" Then

            'Format(DateAdd(DateInterval.Day, -1, CDate("01/" & Month(Date.Now) & "/" & Year(Date.Now))))

        End If

    End Sub

 

    Private Function DataSet1(ByVal StrName As String, ByVal StrAddr1 As String, ByVal strAddr2 As String, ByVal strAddr3 As String, ByVal strAddr4 As String, ByVal strPcode As String, ByVal Stats As Boolean) As DataSet

 

        Dim GetReport As New SqlCommand

        Dim Datasett As New SqlDataAdapter

        Dim reports As New SqlConnection(Configuration.ConfigurationManager.AppSettings("sql").ToString)

        Dim DS As New DataSet

 

        Try

            If reports.State = ConnectionState.Closed Then reports.Open()

            GetReport.Connection = reports

            GetReport.CommandType = CommandType.StoredProcedure

            If Stats Then

                GetReport.CommandText = "dbo.Self_Employed_Weekly_Extract"

            End If

            GetReport.CommandTimeout = (300)

 

            Datasett.SelectCommand = GetReport

            Datasett.Fill(DS, "Information")

            GetReport.Dispose()

            Return DS

 

        Catch ex As Exception

            MsgBox(ex.Message)

            Return Nothing

        End Try

 

    End Function

 

    Public Shared Sub Main()

        Dim Save As String = "C:\Self_Employed_Weekly_Extract.csv"

        Dim csvFile As String = My.Application.Info.DirectoryPath & "\Self_Employed_Weekly_Extract.csv"

        Dim outFile As IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(csvFile, False)

        Dim ds As New DataSet '= GetData

        'Write Header

        Dim strHeader As String = ""

        For Each Col As DataColumn In ds.Tables(0).Columns

            strHeader += Col.ColumnName & ","

        Next

        'Write Header

 

        'Write Data

        For Each Row As DataRow In ds.Tables(0).Rows

            Dim strLine As String = ""

            For Each Col As Object In Row.ItemArray

                strLine += Col.ToString() & ","

            Next

            'Write Line

        Next

        Console.WriteLine(My.Computer.FileSystem.ReadAllText(csvFile))

        Dim Svfile As String = ".csv"

        Svfile = "\Self_Employed_Weekly_Extract.csv"

        MessageBox.Show("this is now complete")

You can see at the top where it says call if report_type = full then but i need to call the Dataset function but im unsure how to do this :-/

can some one help me please

the stored procedure is below if you need to see that....

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author:        <Scott Atkinson>

-- Create date: <28/09/2010>

-- Description:   <Self_Employed_Weekly_Extract>

-- ===========================================

CREATE PROCEDURE [dbo].[Self_Employed_Weekly_Extract] 

AS

BEGIN

      SELECT addr1, addr2, addr3, addr4, Pcode, YY.[Name]

      FROM THAMESBANK.DBO.IC_yyclient YY INNER JOIN 

      THAMESBANK.DBO.Ic_brpolicy BR on YY.B@=BR.B@ And YY.REF@=BR.REF@ Inner Join

      THAMESBANK.DBO.Ic_brcledger LED on BR.POLREF@=LED.POLRef@ And BR.B@=LED.B@ AND 

      (Led.trantype='New Business' or LED.Trantype='Renewal' or LED.Trantype='Transferd NB') Left Outer Join   

      THAMESBANK.DBO.Ic_bd_PC DPC on DPC.POLRef@=BR.POLRef@ And DPC.B@=BR.B@ Left Outer Join

      THAMESBANK.DBO.Ic_bd_HN DHN on DHN.POLRef@=BR.POLRef@ And DHN.B@=BR.B@

      where (DHN.Empstat1 = 'Self Employed' OR DHN.Empstat1 = 'Company Director'

      or DPC.Status = 'Self Employed' or DPC.Status = 'Company Director')

      And LED.DateCreated >=  DATEADD(dd, -7, GETDATE()) and LED.Datecreated <= DATEADD(dd, -1, GETDATE())

      AND (BR.B@=2 OR BR.B@=3)

END

GO

If any one else can spot something to why this code wont work besides calling the Dataset function please let me know.

Thanks in advance guys this is much appreciated!!

Would it be

Call Dataset1(ByVal StrName As String, ByVal StrAddr1 As String, ByVal strAddr2 As String, ByVal strAddr3 As String, ByVal strAddr4 As String, ByVal strPcode As string)
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.