C# OleDB SQL-Insert-Befehl

Ich versuche implementieren einer SQL INSERT Befehl in meinem MS Access-Datenbank mit C# mit Visual Studio 2012.

Aber nach, dass, wenn ich öffnen meiner Access-Datenbank, es gibt keine updates, auch die insert Befehl erfolgreich erstellt und zeigt den Erfolg der pop-up-Fenster nach executeNonQuery()

Würden Sie mir bitte sagen, wie man so eine insert into SQL-Befehl funktioniert?

Dies ist mein code

OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = @"INSERT INTO STUDENT(CHI_NAME, ENG_NAME, NICK_NAME, 
                                        BD_YYYY, BD_MM, BD_DD,
                                        HOME_TEL, NO_OF_CHILD, PARENT_EMAIL,
                                        SEC_EMAIL, STUDENT_ADDR, DISTRICT, 
                                        MOTHER_NAME, MOTHER_TEL, MOTHER_OCCU, 
                                        FATHER_NAME, FATHER_TEL, FATHER_OCCU,
                                        E_NAME, E_TEL, E_RELATIONSHIP, REMARKS) 
                    VALUES(@NEW_CHI_NAME, @NEW_EN  G_NAME, @NEW_NICK_NAME, 
                           @NEW_BD_YYYY, @NEW_BD_MM .....);"

cmd.CommandType = CommandType.Text;

cmd.Parameters.AddWithValue("@NEW_CHI_NAME", chi_name);
cmd.Parameters.AddWithValue("@NEW_ENG_NAME", eng_name);
cmd.Parameters.AddWithValue("@NEW_NICK_NAME", nick_name);            
cmd.Parameters.AddWithValue("@NEW_BD_YYYY", bd_year);
cmd.Parameters.AddWithValue("@NEW_BD_MM", bd_month);
....

cmd.Connection = connection;
connection.Open();
cmd.Transaction = connection.BeginTransaction();
int rows= cmd.ExecuteNonQuery();

if(rows > 0)
{
     MessageBox.Show("Insert New Client Success!");
}
else
{
    MessageBox.Show("Insert New Client Failed!"); 
}

cmd.Transaction.Commit();
connection.Dispose();
connection.Close();
  • Es würde nicht Schaden, um zu zeigen, Ihrem Verbindungs-string auch.
  • Auch: ich würde commit der transcation erste, bevor zeigt eine Nachricht im Feld!
  • Haben Sie mehr als eine Kopie der Access-DB? Aus deiner Erklärung, ist es sehr wahrscheinlich, dass Sie die Aktualisierung auf einer anderen Datenbank als die, die Sie überprüfen möchten. Als ethron10 schlägt vor, überprüfen Sie Ihre Verbindung, string
  • Sie sollte .Close() die Verbindung, bevor Sie .Die Dispose () - es.
  • Provider=Microsoft.Ass.OLEDB.12.0;Data Source=|DataDirectory|\KidSquare_1.0.4.accdb;Persist Security Info=True" Die Datenbank ist in der Projekt-Datei
Schreibe einen Kommentar