, поэтому я работаю над программой базы данных, и для этого требуется вставить журнал в базу данных с помощью команды INSERT INTO, однако после выполнения запроса таблица остается пустой. Пожалуйста помоги! Спасибо ~ Вот коды.C# `INSERT INTO` MS Access db не вставляет
//Predefined connection string
OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\xxx\Desktop\data.mdb;Jet OLEDB:Database Password=xxx;");
private void Login_Load(object sender, EventArgs e)
{
Log("StartUp", "System", "NULL", "System StartUp");
}
public void Log(string Type, string User, string Table_affected, string Remarks)
{
string NowDateStamp = string.Format("{0}/{1}/{2}",
DateTime.Now.Day.ToString(),
DateTime.Now.Month.ToString(),
DateTime.Now.Year.ToString());
string NowTimeStamp = string.Format("{0}:{1}:{2}",
DateTime.Now.Hour.ToString(),
DateTime.Now.Minute.ToString(),
DateTime.Now.Second.ToString());
string tempSQL = string.Format("INSERT INTO 'Log' VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}')",
NowDateStamp,
NowTimeStamp,
Type,
User,
Table_affected,
Remarks);
vcon.Open();
OleDbCommand vcom = new OleDbCommand(tempSQL, vcon);
vcom.ExecuteNonQuery();
MessageBox.Show("Done"); // <-- This MessageBox isn't even showing.
vcon.Close();
}
Так в основном программа запускается залогирует время, однако это не казалось, сделали ничего к базе данных, кто может помочь мне? Благодаря!
Вы видите ошибки во время выполнения? Также вам нужно использовать Access - SQLServer CE4.0 - отличная альтернатива? –
Запуск в режиме отладки, предполагая, что там где-то есть ошибка, если бы вы получили сообщение, как вы указали. –
Для временных меток вы можете просто использовать 'var nowDateStamp = DateTime.Now.ToString (" dd/MM/yyyy ");' и 'var nowTimeStamp = DateTime.Now.ToString (" HH: mm: ss ");' , на самом деле не связан с вашим вопросом, но может сделать ваш код более удобочитаемым =) – JMK