【问题标题】:writing to MS-Access DB Issue in C sharp用 C 语言写入 MS-Access DB 问题
【发布时间】:2010-09-28 15:58:19
【问题描述】:

嘿,伙计们,我只是在练习用 C# 读取、写入数据到 Access DB 的程序,尽管我能够读取数据,即 fetchin 正在工作,但我在将数据写入 Access DB 时遇到了问题很好,但是当我插入数据时,我的 "ExecuteNonQuery" 工作正常,我的意思是没有错误,但是当打开 Access DB 时,数据不存在......这是我尝试做的代码...

//// Function For ExecuteNonQuery public static bool ExecuteNonQuery(string Query) { OleDbCommand oledbCommand = new OleDbCommand(Query, connection); if (connection.State == ConnectionState.Open) connection.Close(); try { connection.Open(); if (oledbCommand.ExecuteNonQuery() > 0) return true; else return false; } catch (Exception) { return false; } finally { connection.Close(); } }

以下代码用于添加在“添加”按钮按下时触发的数据

private void btnAdd_Click(object sender, EventArgs e) { simOperator.aim_network_name = txtAimNetNm.Text; simOperator.network_id = txtOxiNetID.Text; simOperator.network_name = txtNetName.Text; simOperator.pack_id = txtPackID.Text; simOperator.pack_name = txtPackName.Text; SimOperator.Add(simOperator); fillText(); } public void fillText() { txtResult.Text = ""; SimOperator[] simOperatorList = SimOperator.GetAllOperators(); foreach (SimOperator sm in simOperatorList) { txtResult.Text += Program.operator_id + " " + sm.aim_network_name + " " + sm.network_name + " " + sm.network_id + " " + sm.pack_id + " " + sm.pack_name + "\r\n"; } }

这里是“添加”功能

string Query = string.Format("insert into {0}({2}) values({1});", calledObject.Name, PropertyValue,PropertyName); ExecuteNonQuery(Query);

实际的 SQL 查询是:

插入 SimOperator(aim_network_name,network_id,network_name,pack_id,pack_name) 值('FiveNet','2563','FiveNet-Kurla','1236','5236');

是的,我的连接字符串

static OleDbConnection connection = new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);

App.config 文件包含字符串为

add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AutoMobileRecharge.mdb;User Id=;Password=;Persist Security Info=True"

我没有得到的东西是我在所有内部字段文本框旁边放置了一个文本区域,以便我可以看到插入的内容,所以当插入数据时,文本区域完美显示数据但是当我打开访问数据库,然后那里没有数据,当我关闭我的应用程序并再次运行它时,文本区域是空的......这对我来说听起来很奇怪..外面的任何人都遇到过这种问题,请帮帮我这里..

【问题讨论】:

    标签: c# ms-access


    【解决方案1】:

    你是在调试期间做的吗?在这种情况下,请查看调试文件夹中是否有 mdf 文件,以及它是否包含您刚刚插入的数据。当您在该模式下运行应用程序时,将一些文件复制到调试文件夹。如果我没记错的话,有一个选项可以告诉 vs 不要在调试时复制文件

    【讨论】:

    • Stefano@ hm,是的,我在调试模式下进行操作。我不知道在调试时告诉不复制文件的选项,我会检查该选项和thanx伙计,让看看它是否有效。
    • Stefano@ 嘿,调试文件夹中有一个 .mdf 文件,它包含数据。你能解释一下为什么会发生这种情况,我的意思是在调试文件夹中创建另一个 mdf 文件吗?
    • @FosterZ 我想它在开发过程中碰巧没有损坏数据。老实说,我不记得如何避免处理文件,尝试在项目中选择 mdf 文件(我想您已将其添加到项目中),选择属性选项卡并(如果存在)更改“复制本地”选项为假
    猜你喜欢
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    相关资源
    最近更新 更多