问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#里怎么使用ListView控件实现数据库的增删改查,要求使用三层架构分为UI层BLL层DAL层 求源码 求解

发布网友 发布时间:2022-05-04 00:23

我来回答

4个回答

懂视网 时间:2022-05-04 04:44

最近在项目中遇到一个问题,数据库中有很多张需要由人手工维护的基本数据表,而这些数据表每一个都需要人工对其中的数据进行维护。在开发的过程中发现基本上每个页面需要做的控件相差不大,区别在于不同的界面对应的表和字段不同,而基本的代码处理流程是一

最近在项目中遇到一个问题,数据库中有很多张需要由人手工维护的基本数据表,而这些数据表每一个都需要人工对其中的数据进行维护。在开发的过程中发现基本上每个页面需要做的控件相差不大,区别在于不同的界面对应的表和字段不同,而基本的代码处理流程是一至的,所以这就促使我想到能不能有更好一点的办法简化这个开发过程。

用户界面层,我们最重点的是用户操作界面的控件要和数据库的字段匹配,在开发过程中还有,如果数据库的字段有变化的话代码修改越少越好。所以最好UI可以根据数据库的字段自动生成相应的控件。

业务层,可能会做一些基本的数据校验之类的工作,由于在需求中重点是UI和数据库访问所以业务层的功能应该会相对简单一些。

数据库访问层,在数据库的操作语句中我们也需要知道数据库的字段,以此生成增删改查的语句。

在这里我打算使用配置文件来进行配置。

在这里我也想到过可以通过DAO来获得数据库的字段和字段类型,但是转念一想再数据库中我们很多时候可能会使用一样的SQL类型来存储不一样的数据类型,比如使用varchar可以存储字符串,但是也有人使用varchar存储枚举型数据,可能不同的人会使用不同的控件显示对应同一个SQL数据类型。所以这里我打算适当的使用一些配置来对UI显示数据的控件进行配置。

想到这里,在配置文件中就需要有这样一些配置项,1.数据库的字段。2.这个字段可以是用什么样地数据类型存储的3.在界面上是用什么控件来展示的。

这里我打算使用java来做开发,但是这种思想我觉得其他任何语言都是可以考虑使用的。所以如果读者们有什么意见的话也可以一起交流。

下一步是要对配置文件进行定型了。

2014-03-20



	
			
		
			
		
		
		
		
	

配置结构则需要考虑什么控件需要在界面上展示,怎么样展示,目前还是比较简单的控件只是输入文本的。

由于在每个界面上都有的保存,删除等的按钮,所以就添加一个的通用界面吧,当然直接在JFrame上画开始也可以。

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import javax.swing.JButton;
import java.util.TreeMap;
public class ProjectForm extends JFrame{
	public String nameString;
	public JPanel panel ;
	public TreeMap TextFieldList = new TreeMap();
	public ProjectForm() {
		
		panel = new JPanel();
		getContentPane().add(panel, BorderLayout.CENTER);
		panel.setLayout(null);
		
		JPanel panel_1 = new JPanel();
		panel_1.setBounds(82, 5, 265, 33);
		panel.add(panel_1);
		
		JButton btnNew = new JButton("New");
		panel_1.add(btnNew);
		
		JButton btnSave = new JButton("Save");
		panel_1.add(btnSave);
		
		JButton btnClear = new JButton("Clear");
		panel_1.add(btnClear);
		
		JButton btnDelete = new JButton("Delete");
		panel_1.add(btnDelete);
	}
}
在生成的时候根据不同的表名向上添加控件。
import java.io.File;
import java.util.List;
import javax.swing.JLabel;
import javax.swing.JTextField;
import org.jdom2.*;
import org.jdom2.input.SAXBuilder;
public class FormCreator {
	static ProjectForm CreateForm(String name)
	{
		ProjectForm form = new ProjectForm();
		form.nameString = name;
		String filename = "D:\work eclipse\1.xml";
		int topx = 20;
		int topy = 80;
		int Labelwidth = 100;
		int LabelHeight = 15;
		int gapy = 30;
		int textwidth = 300;
		try 
		{
			SAXBuilder builder = new SAXBuilder();
			org.jdom2.Document document;
			File file = new File(filename);
			document = builder.build(file);
			Element rootElement = document.getRootElement();
			List tableList = rootElement.getChildren();
			
			for (int i = 0; i < tableList.size(); i++) 
			{
				Element node = tableList.get(i);
				String tNameString = node.getAttribute("name").getValue();
				if(!tNameString.equalsIgnoreCase(name))
				{
					continue;
				}
				List tablefeilds = node.getChildren();
				for(int j=0;j UIfeilds = feildnode.getChildren();
					for(int k=0;k
之后则应该还有BLL和DAL的部分。

热心网友 时间:2022-05-04 01:52

实在不懂这个要求:要求使用三层架构分为UI层BLL层DAL层

换了我,很简单的数据库查询、添加、修改、删除就搞定了~~~~~~~~

热心网友 时间:2022-05-04 03:10

这个你要源码不是坑人吗?虽然不难但是我估计没人愿意来写这个 又臭又长的 再说这东西网上肯定是有的

热心网友 时间:2022-05-04 04:45

不是很难吧,网上很多源码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 哪位大侠指点下SQL语句怎么写 高分求解 数据库树形结构查询 redis leftpop key存在 但是查不出来 Oracle 的dataguard里的备库是不是只需要安装软件而不需要建库呀? 如何提升Active Dataguard 与主库的同步速度 java面试题谁能帮我回答 如何利用ACCESS建立数据库,还有设计表结构,和如何添加数据呢?? vb动态建立一个access数据库 VB中怎么动态创建access数据库以及数据库表 特急VB中动态创建access数据库以及数据库表 vb.net怎么动态创建access数据库和表 如何用C#动态创建Access数据库和表 如何用c#代码动态的生成一个access数据库表,并创建表的结构? 搭建hadoop完全分布式集群,启动后遇到的问题 hadoop完全分布式安装slave怎么配置 简要描述如何安装配置一个完全分布式Hadoop(以三个节点配置)并成功启动,只描述即可,列出步骤_问一问 本次操作由于太太计算机的限制而被取消,请与您的系统管理员联系 系统还原被组策略关闭,要打开系统还原,请于您的域管理员联系。怎样解决这个问题? 由于一个软件限制策略的阻止,windows无法打开此程序,要获取更多信息请打开事件查看器或与系统管理员联系 如何让windows2003 中具有管理员权限的用户无法重启系统? 请问你有asp.net用三层架实现数据库的增删改查程序么?一个用户的注册、登陆页面;修改和删除用户名和密码 c#实现增删查改的三层架构winform小程序 asp.net三层架构实现增删改查 求高手用c# winform三层架构 来写一个增删改查或者用户登录的程序。刚接触三层,希望以此参考学习。 现在在培训班学习java开始做服务器的增删改查,但是用的三层架构的调用关系和各自是干嘛的老是捋不清楚, 关于三层架构的具体解释 .net页面实现数据的增删查改 删除?我的数据库是在这里配置的啊,我是用三层架构做的 怎么判断一个ASP.NET的程序是否三层架构 sql数据库中新添加了一个字段,项目中三层架构哪些地方需要修改 大数据分析与处理方法解读 hadoop伪分布搭建-----hadoop fs -ls 出现no such file or directory hadoop单击伪分布没法自己定义Partitioner规则吗 ubuntu 14.04下搭建hadoop 伪分布集群32位的好还是64位的 伪分布模式安装hadoop需要多少台电脑 求高手指教hbase伪分布问题 hadoop 的 namenode可以做成多点吗 hadoop 伪分布DataNode TaskTracker 启不动!求高手指点一二,找了很久,本人只有5 分了,实在没办法。 Hadoop伪分布和集群的输出结果区别 sybase iq 中怎么装载和卸载 csv(列用逗号分隔,字符串用双引号引起来,行用换行符分隔) 格式的数据 ?