Недавно я смотрел видео Plural Sight ASP.NET о привязке данных, и я столкнулся с декларативными элементами управления источниками данных, такими как <asp:SqlDataSource />
.
. У меня возникают проблемы с пониманием, почему я не могу вставитьназвание фильма по умолчанию и дата выпуска в моей таблице фильмов в базе данных SQL Server 2008.До этого момента у меня не было никаких проблем, и я смог получить доступ к таблице через SelectCommand через gridView, но когда я нажимаю кнопку вставки фильма, новые параметры фильма, созданные вручную, не добавляются в таблицу.
Вот мой код для лучшего вида:
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>
Как вы могли заметить выше, у меня не было Type = "..." в теге asp параметра, но доэто, у меня были типы, равные string для title и dateTime для release_date.Может ли быть проблема в том, что значения, которые я установил в своей базе данных, отличаются от тех, которые я объявил выше?
C #:
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();
}
Мне не разрешеноразмещать изображения пока нет, поэтому добавить сетку невозможно, хотя это поможет, если вы сможете просмотреть саму таблицу ... Но в любом случае таблица после нажатия кнопки остается прежней, и когда я смотрю вбаза данных, новые значения не добавляются.