C#`INSERT INTO` MS Access db不插入

时间:2013-03-04 15:03:24

标签: c# .net ms-access oledb

所以我正在研究数据库程序,它需要使用INSERT INTO命令将Log插入数据库,但是在执行查询后表仍然为空。请帮忙!谢谢〜这是代码。

    //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();
    }

所以基本上程序会启动然后记录时间,但是它似乎对数据库没有任何作用,任何人都可以帮助我吗?谢谢!

3 个答案:

答案 0 :(得分:6)

执行查询会导致异常,但会捕获并忽略该异常。

您正在使用表名称所在的字符串文字。它应该只是标识符:

INSERT INTO Log VALUES ...

或方括号内的标识符:

INSERT INTO [Log] VALUES ...

答案 1 :(得分:0)

替换它:

INSERT INTO 'Log' VALUES 

有了这个:

INSERT INTO Log VALUES 

答案 2 :(得分:0)

除了别人说的话,我猜你也有语法错误。您应该指定要插入值的列。

INSERT INTO Log (<column1>,<column2>,...)
VALUES (<Value to insert into column1>, <Value to insert into column 2>,...)