Pregunta

Recientemente he estado viendo videos de la vista plural ASP.NET sobre el enlace de datos, y me encontré con controles de fuente de datos declarativos como <asp:SqlDataSource />.

Tengo problemas para entender por qué no puedo insertar un título de película predeterminado y la fecha de lanzamiento en mi tabla de películas en una base de datos SQL Server 2008. No he tenido ningún problema hasta este punto, y he podido acceder a la tabla a través de SelectCommand a través de un GridView, pero cuando hago clic en el botón Insertar la película, los nuevos parámetros de la película hechos manualmente no se agregan a la tabla.

Aquí está mi código para una mejor mirada:

InsertCommand="INSERT INTO movies (title, release_date) VALUES (@title, @release_date)"
SelectCommand="SELECT TOP 30 movie_id, title, release_date FROM movies ORDER BY movie_id DESC"
runat="server" ID="_moviesDataSource" DataSourceMode="DataReader">
<InsertParameters>
    <asp:Parameter Name="title" />
    <asp:Parameter Name="release_date"/>
</InsertParameters>
</asp:SqlDataSource>
<asp:Button ID="Button1" runat="server" Text="Insert new movie" 
    onclick="Button1_Click" /><br /><br />
<asp:GridView ID="_moviesGridInsert" runat="server" DataSourceID="_moviesDataSource">
</asp:GridView>

Como puede notar anteriormente, no tenía el tipo = "..." en la etiqueta ASP de parámetro, pero antes de esto, tenía los tipos iguales a la cadena para el título y el tiempo de retraso para la versión_date. ¿Podría el problema ser que los valores que he establecido en mi base de datos sean diferentes de los que declaré anteriormente?

C# back-end de él:

protected void Button1_Click(object sender, EventArgs e)
{
    Page.MaintainScrollPositionOnPostBack = true;

    // TODO - Insert movie (manually inserted with just user input of button click)
    _moviesDataSource.InsertParameters["title"].DefaultValue = "My movie";
    _moviesDataSource.InsertParameters["release_date"].DefaultValue = "01/01/2008";
    _moviesDataSource.Insert();
}

Todavía no se me permite publicar imágenes, por lo que no es posible agregar la red, aunque ayudaría si pudiera ver la mesa en sí ... pero de todos modos, la tabla, una vez que se hace clic en el botón, se mantiene igual, y Cuando miro en la base de datos, no se agregan los nuevos valores.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top