Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用OLEDB c更新后,Access数据库的行为随机且不一致#_C#_Ms Access_Oledb_Ms Access 2000 - Fatal编程技术网

C# 使用OLEDB c更新后,Access数据库的行为随机且不一致#

C# 使用OLEDB c更新后,Access数据库的行为随机且不一致#,c#,ms-access,oledb,ms-access-2000,C#,Ms Access,Oledb,Ms Access 2000,因此,我遇到了一个非常奇怪的问题,起初我将项目插入access数据库的代码停止工作,这是一个简单的代码,如下所示: using (OleDbConnection myCon = new OleDbConnection()) { OleDbCommand cmd = new OleDbCommand() { CommandType = CommandType.Text,

因此,我遇到了一个非常奇怪的问题,起初我将项目插入access数据库的代码停止工作,这是一个简单的代码,如下所示:

using (OleDbConnection myCon = new OleDbConnection())
            {
                OleDbCommand cmd = new OleDbCommand()
                {
                    CommandType = CommandType.Text,
                    CommandText = "insert into applicationSalts ([appName],[salt]) values (?,?)"
                };
                cmd.Parameters.AddWithValue("@appName", appName);
                cmd.Parameters.AddWithValue("@salt", salt);
                myCon.ConnectionString = publicDbConnectionString;
                cmd.Connection = myCon;
                myCon.Open();
                int result = cmd.ExecuteNonQuery();
                myCon.Close();
            }
所以它非常简单,插入这些值,我检查结果=1(查询成功完成)


现在有点奇怪了,数据库碰巧没有显示任何新值。这很奇怪,然后我尝试重命名数据库,然后所有这些记录都会在稍后出现!我尝试从另一个位置使用该数据库(我从C:/databaseName使用它,然后从D:/databaseName使用它),然后它工作了。我将工作的数据库文件移回C,然后突然,以前出现的记录消失了

更奇怪的是,在同一数据库中的一个表开始时,它使用的是一个理想的调用,与之前的一个相同。但这一个没有!然后当我试图找到问题时,其中一个也停止了工作

另外,在我通过ms access手动更改了一些记录之后,它后来忽略了这些更改

我慢慢地疯了,因为我不太明白发生了什么,这是使用access 2000文件格式


编辑:经过进一步的实验,对我来说,它仍然变得更奇怪,虽然文件名为onlineDb.mdb,但它只有一条记录,删除它使其消失,现在将其重命名为onDb.mdb使该记录返回,添加了其他丢失的记录。然后重命名为onlineDB.mdb再次使所有记录消失。

听起来你在寻找一个不同于
myCon.DataSource的数据库。
“现在有点奇怪,数据库碰巧没有显示任何新值。这很奇怪,然后我尝试重命名数据库,然后所有这些记录都会稍后出现!”听起来数据尚未写入,或者在文件使用时视图未正确更新。您可能查看的数据库错误,或者可能是您在项目中以及每次执行时都包含了数据文件(ctl+f5)在Visual Studio中,您正在覆盖数据库文件。这很奇怪,因为如果我重新命名数据库,记录将再次消失,因此我肯定在编写正确的文件。所有命令最终在某个点可见。