WPF应用Access数据库
WPF应用Access数据库
现在Access数据库中有表GuestTable,其中的字段如下图所示,现在需要应用WPF技术为此表制作一个数据库管理窗口,实现对此数据库中的数据进行数据的增、删、改和查操作。
对数据的操作首先需要获取对数据库文件的连接,创建与数据库连接的程序如下所示,其中“..//..//DataBase//InkColorMatchingDB.mdb”可以替换为自己项目中Access数据库相对于Bin/Debug/**.exe可执行文件的相对路径。
private OleDbConnection GetConnection()
{
string strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..//..//DataBase//InkColorMatchingDB.mdb;";
OleDbConnection con = new OleDbConnection(strcon);
return con;
}
接下来应用所得到的对数据库的连接来执行SQL语句增加条目的操作,如下程序所示。
try
{
OleDbConnection con = GetConnection();//获得对数据库的连接
con.Open();//打开数据库连接
string judge = " SELECT COUNT(*) FROM GuestTable WHERE 公司名称='" + guestName_TB.Text.ToString() + "';";//检测是否已经存在所输入的公司名称
OleDbCommand judgecmd = new OleDbCommand(judge, con);//对数据库执行SQL语句操作,并且获得返回的结果
int rowNum = (int)judgecmd.ExecuteScalar();
if(rowNum==)
{
string insertstr = "INSERT INTO GuestTable(公司名称, 地址,省,市, 邮编,国家,电话号码,传真号,联系人,电子邮件) VALUES ('";
insertstr += guestName_TB.Text.ToString() + "', '";
insertstr += guestAddress_TB.Text.ToString() + "','";
insertstr += guestProvince_TB.Text.ToString() + "','";
insertstr += guestCity_TB.Text.ToString() + "','";
insertstr += guestPostCode_TB.Text.ToString() + "','";
insertstr += guestCountry_TB.Text.ToString() + "','";
insertstr += guestPhoneNum_TB.Text.ToString() + "','";
insertstr += guestFax_TB.Text.ToString() + "','";
insertstr += guestContactPerson_TB.Text.ToString() + "','";
insertstr += guestEmail_TB.Text.ToString() + "');";//整理插入数据的Sql语句
OleDbCommand insertcmd = new OleDbCommand(insertstr, con);
insertcmd.ExecuteNonQuery();
con.Close();
}
else
{
throw new Exception("所输入客户名称重复!");
}
}catch(Exception ex)
{ MessageBox.Show(ex.Message);
return;
}
删除数据的操作如下:
try
{
//连接数据库,获取数据显示在客户列表中
OleDbConnection mycon = GetConnection();
mycon.Open();
string sql = "delete * from GuestTable where 公司名称='" + name+"';";
OleDbCommand myCommand = new OleDbCommand(sql, mycon);
myCommand.ExecuteNonQuery();
mycon.Close();
}
catch (Exception ex)
{
throw (new Exception("删除数据出现错误:" + ex.Message));
}
更新数据的操作如下(其中如this.guestName_TB.Text.ToString()者均为从界面上所获得的用户输入的数值):
//用到了我前面写的那个得到数据库连接的函数
OleDbConnection conn = GetConnection(); //getConn():得到连接对象,
conn.Open();
//确定我们需要执行的SQL语句,本处是UPDATE语句!
sqlstr = "UPDATE GuestTable SET ";
sqlstr += "公司名称='" + this.guestName_TB.Text.ToString() + "',";
sqlstr += "地址='" + this.guestAddress_TB.Text.ToString() + "',";
sqlstr += "省='" + this.guestProvince_TB.Text.ToString() + "',";
sqlstr += "市='" + this.guestCity_TB.Text.ToString() + "',";
sqlstr += "邮编='" + this.guestPostCode_TB.Text.ToString() + "',";
sqlstr += "国家='" + this.guestCountry_TB.Text.ToString() + "',";
sqlstr += "电话号码='" + this.guestPhoneNum_TB.Text.ToString() + "',";
sqlstr += "传真号='" + this.guestFax_TB.Text.ToString() + "',";
sqlstr += "联系人='" + this.guestContactPerson_TB.Text.ToString() + "',";
sqlstr += "电子邮件='" + this.guestEmail_TB.Text.ToString() + "' ";
sqlstr += " where 公司名称='" + this.name+"';";
//定义command对象,并执行相应的SQL语句
OleDbCommand myCommand = new OleDbCommand(sqlstr, conn);
myCommand.ExecuteNonQuery(); //执行非查询语句
conn.Close();
如果需要查询数据库中的数据的话,则代码如下:
//获取数据库中的数据
try
{
//连接数据库,获取数据显示在客户列表中
OleDbConnection mycon = GetConnection();
mycon.Open();
string sql = "select * from GuestTable;";
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(sql, mycon);
adapter.Fill(guestData, "GuestTable");//其中guestData为DataSet类对象其中存储查询到的所有数据,“GuestTabel”为查询所针对的数据表
mycon.Close();
}
catch(Exception e)
{
throw (new Exception("读取数据库内的数据出错:" + e.Message));
}
WPF应用Access数据库的更多相关文章
- C#.NET ORM 如何访问 Access 数据库 [FreeSql]
最近很多 .net QQ 群无故被封停,特别是 wpf 群几乎全军覆没.依乐祝的 .net6交流群,晓晨的 .net跨平台交流群,导致很多码友流离失所无家可归,借此机会使用一次召唤术,有需要的请加群: ...
- 【.net 深呼吸】连接Access数据库应注意的几点
本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...
- PowerDesigner生成Access数据库
1.打开PowerDesigner,设置PowerDesigner的当前数据库为Access: 2.在PowerDesigner中新建表结构(物理模型): 3.PowerDesigner菜单中:Dat ...
- C#连接Access数据库(详解)
做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...
- 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
/// <summary> /// 创建ACCESS数据库,并且创建表和数据 /// </summary> /// <param name="dictTable ...
- 美萍超市销售管理系统标准版access数据库密码mp611
美萍超市销售管理系统标准版access数据库密码mp611 作者:admin 来源:本站 发表时间:2015-10-14 19:01:43 点击:199 美萍超市销售管理系统标准版access后 ...
- NHibernate使用Access数据库的配置问题
NHibernate本身不支持Access数据库,一开始看网上各种文档,捣敲浪费了N分钟. 还是祭起Nuget神器引用NHibernate.JetDrive. 代码如下,搞定收工... private ...
- System.Data.OleDb操作access数据库类,【bubuko.com】
access数据库在应用了System.Data.OleDb后操作会很方便,这是一个常用的数据库操作类,其中两个方法,一个是返回datatable的,一个是执行sql语句返回影响记录的(一般是inse ...
- Access数据库的模糊查询到底是用*还是%
今天被用了一下Access数据库,结果被它的模糊查询给折腾了一上午,到底是用*还是%?特此记下来 事情是这样的,我用C#写了个小的窗体程序,访问Access数据库进行一个模糊查询,我先手工往Acces ...
随机推荐
- secureCRT连接linux系统
linux和secureCRT利用ssh协议22端口进行远程连接的 连接如果没有成功,请检查远程主机的端口和ssh是否开启 一.检查看SSH服务是否开启 当然有的linux系统使用的命令是/etc/i ...
- 关于Mybatis的SQL映射文件中in关键字的用法
有一个需求是可以选择多个设备进行删除,于是想到将多个设备id拼成字符串作为参数,以逗号隔开,如:"123,234,456". SQL如下: <delete id=" ...
- aliyun添加数据盘后的物理分区和lvm逻辑卷两种挂载方式
一.普通磁盘分区管理方式 1.对磁盘进行分区 列出磁盘 # fdisk -l # fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Change ...
- zabbix系列(二)zabbix3.0.4添加对mysql数据库性能的监控
zabbix3.0.4添加Mysql的监控 zabbix3.0 server已自带mysql的模板了,只需安装agent端,然后在web端给主机增加模板就行了. Agent端操纵 /etc/zabbi ...
- MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
农历 乙未 羊年 十一月初九 周六 2015年12月19日 14:29 编辑者:刘军 标题: 服务器的搭建请参考该文:<Win7 x64 svn 服务器搭建> ============== ...
- samba 设置文件的读写权限
原文:https://blog.csdn.net/lan120576664/article/details/50396511 打开配置文件 sudo pico /etc/samba/smb.conf ...
- pytest一:pytest 框架介绍
pytest 是 python 的一种单元测试框架,与python 自带的 unittest测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高.根据pytest 的官方网站介绍,它具 ...
- python+selenium十一:jQuery和js语法、js处理iframe
selenium 执行jQuery/js语法 driver.execute_script(jQuery/js) 1.jQuery jQuery只支持css语法: jquery = '$(CSS).va ...
- LINQ学习之旅(二)
一:查询表达式(LINQ)简介 LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译 ...
- asp.net core 2.0 cookie的使用
本文假设读者已经了解cookie的概念和作用,并且在传统的.net framework平台上使用过. cookie的使用方法和之前的相比也有所变化.之前是通过cookie的add.set.clear. ...