首先,我使用 C# 并使用 Visual Studio 2010,并且仍然是这方面的学生。
我有一个列表框,显示我的数据库中管理员的名称。当我将另一个管理员添加到数据库时,更新在数据库中完成,但名称未添加到列表框中。
我试过阅读很多关于这个问题的帖子,但没有一个答案对我有用。预先感谢您的帮助。所以这是我的代码的错误部分:
class adminDAO
{
public static Administration admin;
private static Connexion connect;
private static OleDbDataReader reader;
private static OleDbCommandBuilder cmdBuilder;
private static OleDbDataAdapter da_Admin;
private static DataSet ds_Admin;
private static DataTable tableAdmin = new DataTable("Administrateurs");
private static int nbLignes = 0;
public static void getListAdmin()
{
string req = "SELECT * FROM Administrateurs";
da_Admin = new OleDbDataAdapter(req, connect.dbconnect);
ds_Admin = new DataSet();
da_Admin.Fill(ds_Admin, "Administrateurs");
tableAdmin = new DataTable("Administrateurs");
da_Admin.Fill(tableAdmin);
admin.bS_Admin.DataSource = tableAdmin;
admin.lb_admin.DataSource = admin.bS_Admin;
admin.lb_admin.DataBindings.Add("Text", admin.bS_Admin, "nomAdmin");
nbLignes = ds_Admin.Tables["Administrateurs"].Rows.Count;
}
public static void setAdmin(string nomAdmin, string username, string password)
{
connect = Connexion.getConnexion();
try
{
nbLignes = nbLignes + 1;
cmdBuilder = new OleDbCommandBuilder(da_Admin);
string req = "INSERT INTO Administrateurs VALUES(@noAdmin, @nomAdmin, @username, @password)";
OleDbCommand insertCommand = new OleDbCommand(req, connect.dbconnect);
insertCommand.Parameters.AddWithValue("@noAdmin", nbLignes);
insertCommand.Parameters.AddWithValue("@nomAdmin", nomAdmin);
insertCommand.Parameters.AddWithValue("@username", username);
insertCommand.Parameters.AddWithValue("@password", password);
insertCommand.ExecuteNonQuery();
da_Admin.Update(tableAdmin);
}
catch(OleDbException ex)
{
MessageBox.Show("Erreur de mise à jour : " + ex.Message);
}
connect.exitConnexion();
}
}