Мне нужна простая программа для обновления полей базы данных MS Access. Я следовал онлайн-учебнику , который был прост и имел работающий код. Но, кажется, это больше не работает, когда я переопределяю это. Вот мой код.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
OleDbConnection conn;
OleDbDataAdapter da;
DataSet ds;
OleDbCommandBuilder cb;
DataRow row;
private void Form1_Load(object sender, EventArgs e)
{
conn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source = C:\\test.mdb");
da = new OleDbDataAdapter("select* from user", conn);
ds = new DataSet();
conn.Open();
da.Fill(ds, "user");
conn.Close();
}
private void button1_Click(object sender, EventArgs e)
{
cb = new OleDbCommandBuilder(da);
row = ds.Tables["user"].Rows[0];
row[3] = "hello";
da.Update(ds, "user");
}
}
user
- это имя таблицы моей базы данных. Я попытался обновить строку поля [0] (первая строка) и столбец [3] (четвертый столбец) строкой hello
.. Я получаю ошибку Synatx error in FROM clause
. После некоторого чтения в Интернете я обнаружил, что user
должно быть в квадратных скобках. И я сделал это так.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
OleDbConnection conn;
OleDbDataAdapter da;
DataSet ds;
OleDbCommandBuilder cb;
DataRow row;
private void Form1_Load(object sender, EventArgs e)
{
conn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source = C:\\test.mdb");
da = new OleDbDataAdapter("select* from [user]", conn);
ds = new DataSet();
conn.Open();
da.Fill(ds, "user");
conn.Close();
}
private void button1_Click(object sender, EventArgs e)
{
cb = new OleDbCommandBuilder(da);
row = ds.Tables["user"].Rows[0];
row[3] = "hello";
da.Update(ds, "user");
}
}
Когда я это делаю, я получаю новую ошибку, Syntax error in UPDATE statement
. Я много читал в интернете, но, похоже, никто не решает эту проблему. Все они использовали команду Update
по-разному. Я знаю только так. Что не так в моем коде? Тем более, что это работало раньше. Или это не способ обновления правильной техники? Пожалуйста, помогите мне с кодом, а не с техническими условиями, которые я не соблюдаю. Или любая другая процедура для обновления в MS Access?
Спасибо.