Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2011, 18:32
SANCHIMARIO
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
problemas para guardar path relativa de fileupload

Hola gente, perdon por la molestia pero la verdad es que hace dias que trato de encontrar solucion a este problema y no puedo.

Les explico, tengo una bd access la cual leo con un gridview, en este inserte una nueva columna con un fileupload, el cual solo aparese cuando edito algun registro.
La orden de cargar el archivo que necesita el fileupload lo ejecuto desde el mismo boton de actualizar del gridview.
Lo que necesito es que al ejecutar esta accion se guarde en la bd le path del archivo cargado en el registro al cual se le hizo la modificacion.
Es decir: mi fileupload garda los archivos y esa direccion relativa la tengo que guardar en la bd para que despues pueda llamar la imagen de cada registro.

aqui les dejo los codigos

Código:
Partial Class Default2
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim index As Integer = Integer.Parse(DirectCast(sender, Button).CommandArgument)

        Dim file As FileUpload = DirectCast(GridView1.Rows(index).FindControl("FileUpload1"), FileUpload)

        If file IsNot Nothing Then
            If file.HasFile Then
                file.SaveAs(Server.MapPath("~") & "\Upload\" & System.IO.Path.GetFileName(file.PostedFile.FileName))


                'pense en hacer algo asi y despues meter "direccion" dentro del registro, pero no se como
                'Dim direccion As String = "\Upload\" + file.PostedFile.FileName


            End If
        End If
Código:
     <asp:AccessDataSource ID="AccessDataSource1" runat="server"
            DataFile="~/Base de datos.mdb"
            DeleteCommand="DELETE FROM [alquileres] WHERE [Id_alquileres] = ?"
            InsertCommand="INSERT INTO [alquileres] ([Id_alquileres], [a_supcub], [a_supdescub], [a_ant], [a_valor], [a_imagen], [a_id_tipo], [a_vista], [a_observacion], [a_id_provincia], [a_localidad]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
            SelectCommand="SELECT alquileres.Id_alquileres, alquileres.a_supcub, alquileres.a_supdescub, alquileres.a_ant, alquileres.a_valor, alquileres.a_imagen, alquileres.a_id_tipo, alquileres.a_vista, alquileres.a_observacion, alquileres.a_id_provincia, alquileres.a_localidad, tipo.descripcion FROM (alquileres INNER JOIN tipo ON alquileres.a_id_tipo = tipo.Id_tipo)"
            
            UpdateCommand="UPDATE [alquileres] SET [a_supcub] = ?, [a_supdescub] = ?, [a_ant] = ?, [a_valor] = ?, [a_imagen] = ?, [a_id_tipo] = ?, [a_vista] = ?, [a_observacion] = ?, [a_id_provincia] = ?, [a_localidad] = ? WHERE [Id_alquileres] = ?">
            <DeleteParameters>
                <asp:Parameter Name="Id_alquileres" Type="Int32" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="a_supcub" Type="String" />
                <asp:Parameter Name="a_supdescub" Type="String" />
                <asp:Parameter Name="a_ant" Type="String" />
                <asp:Parameter Name="a_valor" Type="String" />
                <asp:Parameter Name="a_imagen" Type="String" />
                <asp:Parameter Name="a_id_tipo" Type="Int32" />
                <asp:Parameter Name="a_vista" Type="Boolean" />
                <asp:Parameter Name="a_observacion" Type="String" />
                <asp:Parameter Name="a_id_provincia" Type="Int32" />
                <asp:Parameter Name="a_localidad" Type="String" />
                <asp:Parameter Name="Id_alquileres" Type="Int32" />
            </UpdateParameters>
            <InsertParameters>
                <asp:Parameter Name="Id_alquileres" Type="Int32" />
                <asp:Parameter Name="a_supcub" Type="String" />
                <asp:Parameter Name="a_supdescub" Type="String" />
                <asp:Parameter Name="a_ant" Type="String" />
                <asp:Parameter Name="a_valor" Type="String" />
                <asp:Parameter Name="a_imagen" Type="String" />
                <asp:Parameter Name="a_id_tipo" Type="Int32" />
                <asp:Parameter Name="a_vista" Type="Boolean" />
                <asp:Parameter Name="a_observacion" Type="String" />
                <asp:Parameter Name="a_id_provincia" Type="Int32" />
                <asp:Parameter Name="a_localidad" Type="String" />
            </InsertParameters>
            
        </asp:AccessDataSource>
        
    </p>
    <p>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
            DataSourceID="AccessDataSource1" AllowPaging="True"
            DataKeyNames="Id_alquileres">
            <Columns>
                <asp:TemplateField ShowHeader="False">
                    <EditItemTemplate>
                        <asp:Button ID="Button1" runat="server" CausesValidation="True" CommandArgument='<%# Container.DataItemIndex  %>'
                            CommandName="Update" onclick="Button1_Click" Text="Actualizar"></asp:Button>
                        &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
                            CommandName="Cancel" Text="Cancelar"></asp:LinkButton>
                        &nbsp;
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
                            CommandName="Edit" Text="Editar"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Id_alquileres" HeaderText="Id_alquileres"
                    InsertVisible="False" SortExpression="Id_alquileres" ReadOnly="True" />
                <asp:BoundField DataField="a_supcub" HeaderText="a_supcub"
                    SortExpression="a_supcub" />
                <asp:BoundField DataField="a_supdescub" HeaderText="a_supdescub"
                    SortExpression="a_supdescub" />
                <asp:BoundField DataField="a_ant" HeaderText="a_ant" SortExpression="a_ant" />
                <asp:BoundField DataField="a_valor" HeaderText="a_valor"
                    SortExpression="a_valor" />
                <asp:BoundField DataField="a_id_imagen" HeaderText="a_id_imagen"
                    SortExpression="a_id_imagen" />
                <asp:TemplateField HeaderText="a_id_tipo" SortExpression="a_id_tipo">
                    <EditItemTemplate>
                       <asp:DropDownList ID="DropDownList1" runat="server"
                              DataSourceID="AccessDataSource1" DataTextField="descripcion"
                          DataValueField="Id_tipo"  Text='<%# Bind("a_id_tipo") %>'>
                           </asp:DropDownList>

                        <asp:AccessDataSource ID="AccessDataSource1" runat="server"
                            DataFile="~/Base de datos.mdb" SelectCommand="SELECT * FROM [tipo]">
                        </asp:AccessDataSource>

                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("a_id_tipo") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:CheckBoxField DataField="a_vista" HeaderText="a_vista"
                    SortExpression="a_vista" />
                <asp:BoundField DataField="a_observacion" HeaderText="a_observacion"
                    SortExpression="a_observacion" />
                <asp:BoundField DataField="a_id_provincia" HeaderText="a_id_provincia"
                    SortExpression="a_id_provincia" />
                <asp:BoundField DataField="a_localidad" HeaderText="a_localidad"
                    SortExpression="a_localidad" />
                <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:FileUpload ID="FileUpload1"   runat="server"   />
                    </EditItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
desde ya muchas gracias!!!!