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:
desde ya muchas gracias!!!! <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> <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancelar"></asp:LinkButton> </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>