首页 文章

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

提问于
浏览
-5

我有一个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

    我想你错过了一个方括号 ]

  • 0

    OleDb似乎不支持命名参数 .

    来自here

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

    这可能会得到你想要的:

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

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

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

相关问题