Всем добрый день. Я новичок в визуальном c#.net. Я использую OleDb для базы данных MS Access. У меня проблемы с вставкой данных в базу данных MS Access, я не знаю, что здесь не так. В моей теории, как плохо построен мой алгоритм. Я продолжал получать эту ошибку исключения OleDb: «Дополнительная информация: синтаксическая ошибка в инструкции INSERT INTO».
вот мои коды:
У меня есть 3 поля в моей таблице базы данных, которая называется «usersTable». А именно: имя_пользователя, пароль и тип_пользователя.
adduser.cs
примечание: я продолжал получать сообщение об ошибке в этой строке кода global.da.Update(global.ds1, "usersTable");
using System;
using System.Data;
using System.Data.OleDb;
private void dbConnect()
{
global.sconn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source = D:/c# programs/soer_final/User.accdb";
global.dbConn = new OleDbConnection(global.sconn);
global.dbCmd.Connection = global.dbConn;
global.dbCmd.CommandText = "Select * from usersTable";
global.da.SelectCommand = global.dbCmd;
global.dbConn.Open();
global.ds1.Clear();
global.da.Fill(global.ds1, "usersTable");
}
private void SaveButton_Click(object sender, EventArgs e)
{
try {
dbConnect();
DataRow dRow = global.ds1.Tables["usersTable"].NewRow();
dRow[0] = user_name.Text;
dRow[1] = password.Text;
dRow[2] = user_type.Text;
global.ds1.Tables["usersTable"].Rows.Add(dRow);
global.da.Update(global.ds1, "usersTable");
global.dbConn.Close();
MessageBox.Show("User added");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Program.cs
using System.Data;
using System.Data.OleDb;
public class global
{
public static string sconn;
public static OleDbConnection dbConn;
public static OleDbDataAdapter da = new OleDbDataAdapter();
public static OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
public static OleDbCommand dbCmd = new OleDbCommand();
public static DataSet ds1 = new DataSet();
public static DataRow[] foundrow;
}