Home All Groups Group Topic Archive Search About
Author
26 Feb 2006 3:05 PM
Seok Bee
Dear Experts,

I am having 1 listbox control in my web form and trying to retrieve the
items and load into it. I want to list out those uploaded files into the
database and list out in the listbox control. My code is as follow:

-------------------------------------------
    Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnUpload.Click
        litMsgBox.Text = ""
        If FileUpload1.HasFile Then
            'Upload Attachment to Server
            If Not FileUpload1.FileContent Is Nothing Then
                'perform validation logic before updating the database -
i.e. if file size is
                With FileUpload1.FileContent
                    Dim abyContent(CType(.Length, Integer)) As Byte
                    'allocate buffer for file data
                    .Read(abyContent, 0, .Length)

                    'Update the attach filename into database
                    InsertFile(FileUpload1.FileName, abyContent)

                    'Update the attach filename into server folder
                    SaveFile(FileUpload1.FileName)

                    'btnUpload.Enabled = False
                    'btnDelete.Visible = True
                    'strAllAttachFiles = strAllAttachFiles &
FileUpload1.FileName & ","

                    'txtRequest.Text = strAllAttachFiles
                End With
            End If

        Else
            strMsgBox = "<script language='Javascript'>alert(""No File to be
uploaded"")"
            strMsgBox = strMsgBox & Chr(60) & "/script>"
            litMsgBox.Text = strMsgBox
        End If
        LoadAttachments(intRequestID)

    End Sub

    Private Sub InsertFile(ByVal strFilename As String, ByVal abyContent As
Byte())
        'Dim oConnection As New OleDbConnection(strConnectionString)
        'Dim intRequestID As Integer
        Try
            DatabaseConnection()
            intRequestID = Int(txtReqNo.Text)
            Dim strFileUploadQuery As String = "INSERT INTO Attachments
(Attachments, FileContent, RequestID) VALUES (?,?," & intRequestID & ")"
            Dim oCommand As New OleDbCommand(strFileUploadQuery, dbConnection)
            Dim oParameter As OleDbParameter = Nothing
            oParameter = New OleDbParameter("?", OleDbType.VarChar)
            oParameter.Value = strFilename
            oParameter.Direction = ParameterDirection.Input
            oCommand.Parameters.Add(oParameter)

            oParameter = New OleDbParameter("?", OleDbType.VarBinary)
            oParameter.Value = abyContent
            oParameter.Direction = ParameterDirection.Input
            oCommand.Parameters.Add(oParameter)

            oCommand.CommandTimeout = 120
            oCommand.CommandType = CommandType.Text

            oCommand.ExecuteNonQuery()


        Catch ex As Exception
            Throw ex

        Finally
            DatabaseDisconnection()
            LoadAttachments(intRequestID)
        End Try
    End Sub

    Public Sub LoadAttachments(ByVal intReqID As Integer)
        Try
            DatabaseConnection()
            Dim strSQLFileAttach As String = "SELECT * FROM Attachments
WHERE RequestID = " & intReqID

            Dim FileAttachCommand As New
Data.OleDb.OleDbCommand(strSQLFileAttach, dbConnection)
            Dim FileAttachReader As Data.OleDb.OleDbDataReader =
FileAttachCommand.ExecuteReader()
            lstAttachments.Items.Clear()
            FileAttachReader.Read()

            lstAttachments.DataValueField = "AttachmentID"
            lstAttachments.DataTextField = "Attachments"
            lstAttachments.DataSource = FileAttachReader
            lstAttachments.DataBind()

            FileAttachReader.Close()

        Catch ex As Exception
            TextBox1.Text = ex.Message
        Finally
            DatabaseDisconnection()
        End Try

    End Sub

--------------------------------------------------

My problem is when I retrieve the data, some how the 1st row of the data
does not appear. May I know where and how to get this problem solve?

Many thanks in advance.

Regards,
SB

Author
26 Feb 2006 5:54 PM
Chris
Seok Bee wrote:
Show quoteHide quote
> Dear Experts,
>
> I am having 1 listbox control in my web form and trying to retrieve the
> items and load into it. I want to list out those uploaded files into the
> database and list out in the listbox control. My code is as follow:
>
> -------------------------------------------
>     Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As
> System.EventArgs) Handles btnUpload.Click
>         litMsgBox.Text = ""
>         If FileUpload1.HasFile Then
>             'Upload Attachment to Server
>             If Not FileUpload1.FileContent Is Nothing Then
>                 'perform validation logic before updating the database -
> i.e. if file size is
>                 With FileUpload1.FileContent
>                     Dim abyContent(CType(.Length, Integer)) As Byte
>                     'allocate buffer for file data
>                     .Read(abyContent, 0, .Length)
>
>                     'Update the attach filename into database
>                     InsertFile(FileUpload1.FileName, abyContent)
>
>                     'Update the attach filename into server folder
>                     SaveFile(FileUpload1.FileName)
>
>                     'btnUpload.Enabled = False
>                     'btnDelete.Visible = True
>                     'strAllAttachFiles = strAllAttachFiles &
> FileUpload1.FileName & ","
>
>                     'txtRequest.Text = strAllAttachFiles
>                 End With
>             End If
>
>         Else
>             strMsgBox = "<script language='Javascript'>alert(""No File to be
> uploaded"")"
>             strMsgBox = strMsgBox & Chr(60) & "/script>"
>             litMsgBox.Text = strMsgBox
>         End If
>         LoadAttachments(intRequestID)
>
>     End Sub
>
>     Private Sub InsertFile(ByVal strFilename As String, ByVal abyContent As
> Byte())
>         'Dim oConnection As New OleDbConnection(strConnectionString)
>         'Dim intRequestID As Integer
>         Try
>             DatabaseConnection()
>             intRequestID = Int(txtReqNo.Text)
>             Dim strFileUploadQuery As String = "INSERT INTO Attachments
> (Attachments, FileContent, RequestID) VALUES (?,?," & intRequestID & ")"
>             Dim oCommand As New OleDbCommand(strFileUploadQuery, dbConnection)
>             Dim oParameter As OleDbParameter = Nothing
>             oParameter = New OleDbParameter("?", OleDbType.VarChar)
>             oParameter.Value = strFilename
>             oParameter.Direction = ParameterDirection.Input
>             oCommand.Parameters.Add(oParameter)
>
>             oParameter = New OleDbParameter("?", OleDbType.VarBinary)
>             oParameter.Value = abyContent
>             oParameter.Direction = ParameterDirection.Input
>             oCommand.Parameters.Add(oParameter)
>
>             oCommand.CommandTimeout = 120
>             oCommand.CommandType = CommandType.Text
>
>             oCommand.ExecuteNonQuery()
>
>
>         Catch ex As Exception
>             Throw ex
>
>         Finally
>             DatabaseDisconnection()
>             LoadAttachments(intRequestID)
>         End Try
>     End Sub
>
>     Public Sub LoadAttachments(ByVal intReqID As Integer)
>         Try
>             DatabaseConnection()
>             Dim strSQLFileAttach As String = "SELECT * FROM Attachments
> WHERE RequestID = " & intReqID
>
>             Dim FileAttachCommand As New
> Data.OleDb.OleDbCommand(strSQLFileAttach, dbConnection)
>             Dim FileAttachReader As Data.OleDb.OleDbDataReader =
> FileAttachCommand.ExecuteReader()
>             lstAttachments.Items.Clear()
>             FileAttachReader.Read()
>
>             lstAttachments.DataValueField = "AttachmentID"
>             lstAttachments.DataTextField = "Attachments"
>             lstAttachments.DataSource = FileAttachReader
>             lstAttachments.DataBind()
>
>             FileAttachReader.Close()
>
>         Catch ex As Exception
>             TextBox1.Text = ex.Message
>         Finally
>             DatabaseDisconnection()
>         End Try
>
>     End Sub
>
> --------------------------------------------------
>
> My problem is when I retrieve the data, some how the 1st row of the data
> does not appear. May I know where and how to get this problem solve?
>
> Many thanks in advance.
>
> Regards,
> SB
>

I don't have the methods in front of me, but you need to set the
selected index to whichever item you want shown after you do the databind.

Chris
Author
26 Feb 2006 6:09 PM
Terry Burns
dropdownList.SelectedIndex=0


--
Terry Burns
http://TrainingOn.net
Show quoteHide quote
"Seok Bee" <seok***@yahoo.com> wrote in message
news:97457CBB-5C7F-44E1-B657-DA3BD262F3F2@microsoft.com...
> Dear Experts,
>
> I am having 1 listbox control in my web form and trying to retrieve the
> items and load into it. I want to list out those uploaded files into the
> database and list out in the listbox control. My code is as follow:
>
> -------------------------------------------
>    Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As
> System.EventArgs) Handles btnUpload.Click
>        litMsgBox.Text = ""
>        If FileUpload1.HasFile Then
>            'Upload Attachment to Server
>            If Not FileUpload1.FileContent Is Nothing Then
>                'perform validation logic before updating the database -
> i.e. if file size is
>                With FileUpload1.FileContent
>                    Dim abyContent(CType(.Length, Integer)) As Byte
>                    'allocate buffer for file data
>                    .Read(abyContent, 0, .Length)
>
>                    'Update the attach filename into database
>                    InsertFile(FileUpload1.FileName, abyContent)
>
>                    'Update the attach filename into server folder
>                    SaveFile(FileUpload1.FileName)
>
>                    'btnUpload.Enabled = False
>                    'btnDelete.Visible = True
>                    'strAllAttachFiles = strAllAttachFiles &
> FileUpload1.FileName & ","
>
>                    'txtRequest.Text = strAllAttachFiles
>                End With
>            End If
>
>        Else
>            strMsgBox = "<script language='Javascript'>alert(""No File to
> be
> uploaded"")"
>            strMsgBox = strMsgBox & Chr(60) & "/script>"
>            litMsgBox.Text = strMsgBox
>        End If
>        LoadAttachments(intRequestID)
>
>    End Sub
>
>    Private Sub InsertFile(ByVal strFilename As String, ByVal abyContent As
> Byte())
>        'Dim oConnection As New OleDbConnection(strConnectionString)
>        'Dim intRequestID As Integer
>        Try
>            DatabaseConnection()
>            intRequestID = Int(txtReqNo.Text)
>            Dim strFileUploadQuery As String = "INSERT INTO Attachments
> (Attachments, FileContent, RequestID) VALUES (?,?," & intRequestID & ")"
>            Dim oCommand As New OleDbCommand(strFileUploadQuery,
> dbConnection)
>            Dim oParameter As OleDbParameter = Nothing
>            oParameter = New OleDbParameter("?", OleDbType.VarChar)
>            oParameter.Value = strFilename
>            oParameter.Direction = ParameterDirection.Input
>            oCommand.Parameters.Add(oParameter)
>
>            oParameter = New OleDbParameter("?", OleDbType.VarBinary)
>            oParameter.Value = abyContent
>            oParameter.Direction = ParameterDirection.Input
>            oCommand.Parameters.Add(oParameter)
>
>            oCommand.CommandTimeout = 120
>            oCommand.CommandType = CommandType.Text
>
>            oCommand.ExecuteNonQuery()
>
>
>        Catch ex As Exception
>            Throw ex
>
>        Finally
>            DatabaseDisconnection()
>            LoadAttachments(intRequestID)
>        End Try
>    End Sub
>
>    Public Sub LoadAttachments(ByVal intReqID As Integer)
>        Try
>            DatabaseConnection()
>            Dim strSQLFileAttach As String = "SELECT * FROM Attachments
> WHERE RequestID = " & intReqID
>
>            Dim FileAttachCommand As New
> Data.OleDb.OleDbCommand(strSQLFileAttach, dbConnection)
>            Dim FileAttachReader As Data.OleDb.OleDbDataReader =
> FileAttachCommand.ExecuteReader()
>            lstAttachments.Items.Clear()
>            FileAttachReader.Read()
>
>            lstAttachments.DataValueField = "AttachmentID"
>            lstAttachments.DataTextField = "Attachments"
>            lstAttachments.DataSource = FileAttachReader
>            lstAttachments.DataBind()
>
>            FileAttachReader.Close()
>
>        Catch ex As Exception
>            TextBox1.Text = ex.Message
>        Finally
>            DatabaseDisconnection()
>        End Try
>
>    End Sub
>
> --------------------------------------------------
>
> My problem is when I retrieve the data, some how the 1st row of the data
> does not appear. May I know where and how to get this problem solve?
>
> Many thanks in advance.
>
> Regards,
> SB
>
Author
27 Feb 2006 12:22 AM
Seok Bee
Thanks Chris and Terry for your replies.

However, my problem is still unable to resolve when I put in the following
statement in my code:

lstAttachments.SelectedIndex=0

When the first time I upload the file into the database, the SELECT
statement is not able to retrieve the 1st file I uploaded. Then I went on to
upload the 2nd file and so on, the SELECT statement able to retrieve and
display the record(s) from 2nd file onward into the listbox control.
So I would like to know, what is the reason being such the way. In another
webform, I used the DataSource and bound it to the listbox control, it able
to view/list all the records into the control box. Please advise...

Thanks in advance.

Regards,
SB

Show quoteHide quote
"Terry Burns" wrote:

> dropdownList.SelectedIndex=0
>
>
> --
> Terry Burns
> http://TrainingOn.net
> "Seok Bee" <seok***@yahoo.com> wrote in message
> news:97457CBB-5C7F-44E1-B657-DA3BD262F3F2@microsoft.com...
> > Dear Experts,
> >
> > I am having 1 listbox control in my web form and trying to retrieve the
> > items and load into it. I want to list out those uploaded files into the
> > database and list out in the listbox control. My code is as follow:
> >
> > -------------------------------------------
> >    Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As
> > System.EventArgs) Handles btnUpload.Click
> >        litMsgBox.Text = ""
> >        If FileUpload1.HasFile Then
> >            'Upload Attachment to Server
> >            If Not FileUpload1.FileContent Is Nothing Then
> >                'perform validation logic before updating the database -
> > i.e. if file size is
> >                With FileUpload1.FileContent
> >                    Dim abyContent(CType(.Length, Integer)) As Byte
> >                    'allocate buffer for file data
> >                    .Read(abyContent, 0, .Length)
> >
> >                    'Update the attach filename into database
> >                    InsertFile(FileUpload1.FileName, abyContent)
> >
> >                    'Update the attach filename into server folder
> >                    SaveFile(FileUpload1.FileName)
> >
> >                    'btnUpload.Enabled = False
> >                    'btnDelete.Visible = True
> >                    'strAllAttachFiles = strAllAttachFiles &
> > FileUpload1.FileName & ","
> >
> >                    'txtRequest.Text = strAllAttachFiles
> >                End With
> >            End If
> >
> >        Else
> >            strMsgBox = "<script language='Javascript'>alert(""No File to
> > be
> > uploaded"")"
> >            strMsgBox = strMsgBox & Chr(60) & "/script>"
> >            litMsgBox.Text = strMsgBox
> >        End If
> >        LoadAttachments(intRequestID)
> >
> >    End Sub
> >
> >    Private Sub InsertFile(ByVal strFilename As String, ByVal abyContent As
> > Byte())
> >        'Dim oConnection As New OleDbConnection(strConnectionString)
> >        'Dim intRequestID As Integer
> >        Try
> >            DatabaseConnection()
> >            intRequestID = Int(txtReqNo.Text)
> >            Dim strFileUploadQuery As String = "INSERT INTO Attachments
> > (Attachments, FileContent, RequestID) VALUES (?,?," & intRequestID & ")"
> >            Dim oCommand As New OleDbCommand(strFileUploadQuery,
> > dbConnection)
> >            Dim oParameter As OleDbParameter = Nothing
> >            oParameter = New OleDbParameter("?", OleDbType.VarChar)
> >            oParameter.Value = strFilename
> >            oParameter.Direction = ParameterDirection.Input
> >            oCommand.Parameters.Add(oParameter)
> >
> >            oParameter = New OleDbParameter("?", OleDbType.VarBinary)
> >            oParameter.Value = abyContent
> >            oParameter.Direction = ParameterDirection.Input
> >            oCommand.Parameters.Add(oParameter)
> >
> >            oCommand.CommandTimeout = 120
> >            oCommand.CommandType = CommandType.Text
> >
> >            oCommand.ExecuteNonQuery()
> >
> >
> >        Catch ex As Exception
> >            Throw ex
> >
> >        Finally
> >            DatabaseDisconnection()
> >            LoadAttachments(intRequestID)
> >        End Try
> >    End Sub
> >
> >    Public Sub LoadAttachments(ByVal intReqID As Integer)
> >        Try
> >            DatabaseConnection()
> >            Dim strSQLFileAttach As String = "SELECT * FROM Attachments
> > WHERE RequestID = " & intReqID
> >
> >            Dim FileAttachCommand As New
> > Data.OleDb.OleDbCommand(strSQLFileAttach, dbConnection)
> >            Dim FileAttachReader As Data.OleDb.OleDbDataReader =
> > FileAttachCommand.ExecuteReader()
> >            lstAttachments.Items.Clear()
> >            FileAttachReader.Read()
> >
> >            lstAttachments.DataValueField = "AttachmentID"
> >            lstAttachments.DataTextField = "Attachments"
> >            lstAttachments.DataSource = FileAttachReader
> >            lstAttachments.DataBind()
> >
> >            FileAttachReader.Close()
> >
> >        Catch ex As Exception
> >            TextBox1.Text = ex.Message
> >        Finally
> >            DatabaseDisconnection()
> >        End Try
> >
> >    End Sub
> >
> > --------------------------------------------------
> >
> > My problem is when I retrieve the data, some how the 1st row of the data
> > does not appear. May I know where and how to get this problem solve?
> >
> > Many thanks in advance.
> >
> > Regards,
> > SB
> >
>
>
>
Author
1 Mar 2006 11:42 PM
Fr15ky
I am not seeing anyplace where the ListBox's Index is being checked.
Could it be that it is defaulting to 1 instead of to 0?

When I have had these type of troubles, it seems to be common that I am
not checking the 0 'row' of the List.

Mark Dahl

Seok Bee wrote:
Show quoteHide quote
> My problem is when I retrieve the data, some how the 1st row of the data
> does not appear. May I know where and how to get this problem solve?
>
> Many thanks in advance.
>
> Regards,
> SB