У меня есть SQL-вставка в моем коде, и когда я нажимаю кнопку, кажется, что обновляет элемент управления Textbox на моей странице, а не мою базу данных. Вот код позади:SQL-код не работает в моем коде
protected void UpdatePic(object sender, EventArgs e)
{
string constr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\TravelJoansDB.mdb;";
string cmdstr = "INSERT INTO BlogEntryItems(Picture) VALUES (@UpdatedPic)";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand com = new OleDbCommand(cmdstr, con);
TextBox uPic = (TextBox)DataList1.Items[1].FindControl("BEIPictureField");
con.Open();
com.Parameters.Add("@UpdatedPic", uPic.Text);
com.ExecuteNonQuery();
con.Close();
}
код ASP для кнопки, где событие OnClick вызывает этот метод:
<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1">
<ItemStyle />
<ItemTemplate>
<table>
<tr>
<td>
<br />
<asp:Image ID="Image1" CssClass="placePicCenter" runat="server"
BorderWidth="1px"
BorderColor="#EEEEEE"
ImageUrl='<%# "PlaceImages/" + Eval("Picture") %>' /><br />
<asp:TextBox ID="BEIPictureField" runat="server" Text='<%# Bind("Picture") %>' /><br />
<asp:Button ID="UpdatePicButton" runat="server" Text="Update" OnClick="UpdatePic" />
<br />
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label4" CssClass="placeBodyStyle" runat="server" Text='<%# Eval("PicText1") %>' />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
Какое значение возвращается из 'ExecuteNonQuery'? –
Если вы отлаживаете это в visual studio, выполняется ExecuteNonQuery()? Кроме того, как вы проверяете свою базу данных? Иногда это проблема. –
Как проверить, какое значение возвращается из команды ExecuteNonQuery? Я проверяю свою базу данных, открывая ее, а затем открываю таблицу. Это база данных Access. – Joseph