无法在数据库帮助中保存数据!

时间:2010-06-18 17:33:41

标签: c# database winforms ms-access

我有一个widnows表单应用程序,我无法保存数据库中的应用程序(文本框)中的数据(ms访问)。存储的数据可以在应用程序中看到,但是如果我打开数据库就不存在...所以如果我打开数据库并重新启动表单应用程序,我看不到之前插入的数据。

 string conString = "Provider=Microsoft.Jet.OLEDB.4.0;"
         + " Data Source=save.mdb";


            OleDbConnection empConnection = new OleDbConnection(conString);


            string insertStatement = "INSERT INTO zivila "
                                 + "([naziv]) "
                                 + "VALUES (@naziv)";

            OleDbCommand insertCommand = new OleDbCommand(insertStatement, empConnection);

            insertCommand.Parameters.Add("@naziv", OleDbType.Char).Value = textBox1.Text;

            try
            {
                empConnection.Open();
                int count = insertCommand.ExecuteNonQuery();
                empConnection.Close();
            }
            catch (OleDbException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {

                textBox1.Clear();

3 个答案:

答案 0 :(得分:4)

我认为你错过了一个方括号]

答案 1 :(得分:0)

OleDb似乎不支持命名参数。

来自here

  

OLE DB.NET框架数据提供程序使用标有问号(?)而不是命名参数的位置参数。

这可能会让你得到你想要的东西:

string insertStatement = "INSERT INTO zivila ([naziv]) VALUES (?)";
// snip
insertCommand.Parameters.Add("@p1", OleDbType.Char, 255).Value = textBox1.Text;

答案 2 :(得分:0)

确保您正在查看正确的数据库:如果您的数据库是解决方案的一部分,它将被复制到bin文件夹,而build文件夹中的数据库将被更新。

我同意@tomfanning,Access不支持命名参数,而应使用问号。