У меня есть datagridview
, который не будет обновляться при нажатии кнопки.Обновление базы данных доступа
Он отображает содержимое таблицы базы данных доступа.
код кнопки:
private void updatebutton_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("Are you sure you want to update the stock level?", "Message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
this.hPTableAdapter.Update(inkDataSet.HP);
inkGridView.Refresh();
MessageBox.Show("Record Updated");
}
}
И строка для обновления в hPTableAdapter:
UPDATE HP
SET Black = ?, Cyan = ?, Magenta = ?, Yellow = ?
не показаны ошибки, как представляется, не работать до закрытия приложения и перезапуска в Visual Studio 2015.
Полный код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Ink
{
public partial class inkForm : Form
{
public inkForm()
{
InitializeComponent();
}
private void searchbutton_Click(object sender, EventArgs e)
{
int itemrow = -1;
String searchValue = searchtextBox.Text.ToUpper();
if (searchValue != null && searchValue != "")
{
foreach (DataGridViewRow row in inkGridView.Rows)
{
if (row.Cells[1].Value.ToString().Equals(searchValue))
{
itemrow = row.Index;
break;
}
else if (row.Cells[0].Value.ToString().Contains(searchValue) && itemrow == -1)
{
itemrow = row.Index;
}
}
if (itemrow == -1)
{
searchtextBox.BackColor = Color.Red;
}
else
{
searchtextBox.BackColor = Color.White;
inkGridView.Rows[itemrow].Selected = true;
inkGridView.FirstDisplayedScrollingRowIndex = itemrow;
}
}
}
private void inkForm_Load(object sender, EventArgs e)
{
this.hPTableAdapter.Fill(this.inkDataSet.HP);
}
private void updatebutton_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("Are you sure you want to update the stock level?", "Message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
this.hPTableAdapter.Update(inkDataSet.HP);
inkGridView.Refresh();
MessageBox.Show("Record Updated");
}
}
private void inkGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
}
Что происходит? вы получаете сообщение об ошибке? Записывает ли журнал базы данных ошибку? Что происходит? –
Просто обновите, он просматривает всплывающие окна как обычно, никаких ошибок не видно. –
Что значит «кажется, работает», а потом нет? Кроме того, вы можете показать нам весь код? Вам не хватает некоторых, если ваша цель - обновить базу данных Access: https://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.update%28v=vs.110%29.aspx –