access数据库-C#连接Access数据库insert操作时,debug目录下临时数据库修改了,但是原数据库不变。

问题描述

C#连接Access数据库insert操作时,debug目录下临时数据库修改了,但是原数据库不变。

尝试把accdb放在debug文件下下过,但是我导入时它自动就会在项目文件夹里复制过去一个数据库文件。insert操作时,显示插入的信息是成功的,并且当时可以搜索到该数据,但重新运行程序后,以前的数据未被保存。

App.config

< ?xml version="1.0" encoding="utf-8" ?>
< configuration>
< configSections>

< connectionStrings>
< add name="BusDB"
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Bus(原件).accdb;Persist Security Info=True"
providerName="System.Data.OleDb" />
< /connectionStrings>
< startup>
< supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
< /startup>

< /configuration>

BusDB.cs

(插入函数都差不多,就贴一个,因为数据都是这个情况。)

    public static void addBusID(String busID)
    {
        DbCommand cmd = Connection.CreateCommand();
        cmd.CommandText = String.Format("INSERT INTO [Bus] VALUES ('{0}')", busID);
        cmd.ExecuteNonQuery();
    }

MainWindow.xml.cs //此处代码我已修改为简单版本,为测试用,就insert busID

public partial class MainWindow : Window
{

    public MainWindow()
    {
        InitializeComponent();
    }
    private void button1_click(object sender, RoutedEventArgs e)
    {
        List<String> station = new List<string>();
        if (busNumber.Text == "")
        {
            MessageBox.Show("请输入车次");
            busNumber.Focus();
            return;
        }
        else if( BusDB.existBusID(busNumber.Text)==true)
        {
            MessageBox.Show("该车已存在");
            busNumber.Focus();
            return;
        }
        else if (addstations.Text == "")
        {
            MessageBox.Show("请输入车站");
            addstations.Focus();
        }
        else
        {
           BusDB.addBusID(busNumber.Text);//简化版
        }
    }
    private void window_loaded(object sender, RoutedEventArgs e)
    {
        string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["BusDB"].ConnectionString;
        BusDB.Connection = new OleDbConnection(connStr);
        try
        {
            BusDB.Open();
        }
        catch (Exception ex)
        {
            if (MessageBox.Show(ex.Message + "rn是否继续?", "数据访问错误", MessageBoxButton.YesNo) == MessageBoxResult.No)
                this.Close();
        }
    }

    private void window_closed(object sender, EventArgs e)
    {
        BusDB.Close();
    }

}

}

设置断点后,可以得到 cmd.ExecuteNonQuery() 的返回值是1.



解决方案

Debug嘛。
Release方式呢?

解决方案二:

offficde方式

解决方案三:

这个问题是数据库连接的问题,看看到底是连的哪个数据库

时间: 2024-11-18 20:53:39

access数据库-C#连接Access数据库insert操作时,debug目录下临时数据库修改了,但是原数据库不变。的相关文章

Access之C#连接Access

原文:Access之C#连接Access 如果是个人用的小程序的话.一般都推荐用Sqlite和Access 使用SQlite数据库需要安装SQLite驱动,详情:SQLite之C#连接SQLite 同样要使用Access数据库一必须安装Access驱动程序.驱动下载:http://pan.baidu.com/s/1moWje 官网下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255 可以在收索你需要的版本.   微软AD

VB6实现连接Access数据库的ADODB代码实现方法_vb

本文实例讲述了使用ADODB.Connection连接access数据库的方法,驱动类型版本为:Microsoft.Jet.OLEDB.4.0.在VB的数据库操作中,连接数据库是第一步,也是最基本的,本文所述的这个例子,对于初学者学习如何在VB中连接Access数据库有着很好的借鉴参考价值. 具体实现代码如下: VERSION 5.00 Begin VB.Form 操作数据库 Caption = "VB操作数据库" ClientHeight = 3645 ClientLeft = 49

php连接access数据库的accdb格式应该怎么连接

问题描述 php连接access数据库的accdb格式应该怎么连接 我的系统是win7+access2010/32位+php5.2.数据库生成的文件格式是accdb,请问怎么连接上去. 解决方案 驱动指定为Microsoft.ACE.OLEDB.12.0;不是microsoft.jet了.试试下面的 $cnStr="provider=Microsoft.ACE.OLEDB.12.0;data source=".realpath("db.mdb"); $cn; fun

asp.net中连接各种数据库字符串连接程序(mysql/mssql/access)(1/2)

MSSQL连接字符串 (1)OLEDBWindows 身份验证  代码如下 复制代码 "Provider=SQLOLEDB;Data Source=PEK7-6TKX23XSQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;"; SQL Server 身份验证 "Provider=SQLOLEDB;Data Source=127.0.0.1SQLEXPRESS;Initial Catalog=Test;User Id=

access数据库-visual studio2010连接access

问题描述 visual studio2010连接access visual studio2010连接access,出现下面的错误,怎么回事?程序在别的电脑上能正确运行. 解决方案 图太小,看不清.请贴出文字. 目测是链接打不开.出错的上一行像是有connectionstring,检查下连接字符串,特别是access文件名路径和数据驱动,最有可能的问题. 解决方案二: Visual Studio2010的技巧Directx在visual studio2010中的配置Visual Studio201

access-C++ ACCES数据库文件连接提示“不是有效的路径.......”

问题描述 C++ ACCES数据库文件连接提示"不是有效的路径......." 请教下大家:采用如下代码连接acces数据库时,在其它电脑上出现找不到数据库文件"不是有效的路径.......",不知何故? 编译时选用:在静态库中使用MFC,如果选动态则在其它电脑无法运行. SQLConfigDataSource(NULL, ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)", "DSN=Xus

qt-QT 怎么知道数据库操作时哪里错了

问题描述 QT 怎么知道数据库操作时哪里错了 QT 怎么知道数据库操作时哪里错了,怎么捕捉错误QT 怎么知道数据库操作时哪里错了,怎么捕捉错误 解决方案 sql.exex()执行后如果有错输出sql.lasterror可以查看出错信息 解决方案二: CSDN的问题为什么这么简洁?1. 使用的什么数据库接口? 2. qt自己的driver还是其他的库?3. 是什么错呢?程序错误?库错误?网络错误?还是sql语法错误?把错误信息贴出来. 描述清楚一点,方便帮你解答.

C# 连接access,运行时老是报错,找不到文件bin\debug\信息.mdb

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.OleDb;namespace开发数据库应用程序{publicpartialclassForm1:Form{public

Linux下 mysql oracle 简单使用手册_数据库其它

安装好mysql后,配置好环境变量,然后 敲入 mysql 进入mysql 然后可以 Use mysql; Select * from user; 来查看所有的用户: Mysql 下执行脚本文件: Mysql > source xxx.sql; 1.1 两种方式增加用户:(转) 有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表.比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些. 下面的例子显示出如何使用MySQL客户安装新用户.这些例子假定权限已缺