操作数据库代码写在哪个层,mvc 数据库操作放哪层
来源:整理 编辑:黑码技术 2024-04-28 06:52:13
本文目录一览
1,mvc 数据库操作放哪层
mvc数据操作model层就是数据逻辑层v就是界面显示层c就是控制器负责strurtsaction调用跳转model 文件夹里面创建的XXModel.cs文件ext是extjs吗?那是客户端的东西.net+mvc链接数据库跟不用mvc一样啊,你是连.net连接数据库也不懂吗?
2,三层架构中sql语句写在哪层
三层是指:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)数据库语句 写在 数据访问层(DAL)数据库连接语句一般都放在配置文件里,方便修改和管理 //ConnectionStrings["conn"]里面的conn需要配置在web.config里面:例如: //// // //static string ConnStr = System.Configuration.ConfigurationManager.AppSettings["conn"].ToString();数据访问层即访问数据库的一层,简单的说就是sqlhelper类,这个类,你可以去网上搜一下就了解了。然后就是业务逻辑层,这一层主要处理软件中的业务逻辑,即在什么情况下怎么办,最后得出来值后把数值通过数据访问层传向数据库就可以了。最后是展示层,即你的ui界面。业务逻辑处理完数据后需要展示的你再赋值到最外层就可以了。具体到软件上一般是两个类库,一个是应用程序!一般情况下会吧最常用、最通用、最核心的数据库语句(例如连接数据库的语句、ExecuteNonQuery、ExecuteScalar等)抽象出来,放到一个帮助类中,例如SQLHelper类,此类可以放到DAL层,也可以放到Common层。然后DAL层调用这个SQLHelper类,来完成数据库的操作即可。可以看看别人的代码,都是这么做的。动软的代码生成器也是这么做的。祝你好运!
3,C代码分层是什么
一般是三层:1.数据库访问层:就是说有SQL语句的。C#叫ADO,Java叫DAO层。2.业务逻辑层:负责处理业务逻辑,可能需要多个ADO的操作。Service层3.表现层:就是用户界面,B/S的是网页ASP,C/S的是winForm,这你就都知道。应该是分三层:界面层、业务逻辑层、数据库层 业务层是写代码的 其实哪个层都要写代码的,界面层是给用户看的,主要是写验证、事件什么的,业务逻辑层是连接界面层和数据库层的,数据库层是存储数据的传统的三层架构1.数据访问层: 专门处理SQL语句2.业务逻辑层:处理各种实际业务,比如名称不能重复,金额不能大于多少等等3.表现层:用户界面,只负责接收界面上的参数,三个层之间的调用可以是下面这样:界面上一个合同名称的文本框,点击保存后,该文本框的值传递给业务逻辑层(一个独立的类库),业务逻辑层判断完是否重复后,将该数值传递给数据访问层的一个插入合同表的方法。如此就完成了合同数据的新增。一般是三层:1.数据库访问层:DAL2.业务逻辑层:BLL3.表现层:就是用户界面,B/S的是网页ASP有三层代码生成器,只要配置一下数据库连接,就会自动生成三层架构,而且还有增删改查等基本功能的代码,很省事楼上两位的解释太局限了,代码分层主要是说具体的工作由具体的层去执行,例如有楼上所说的传统三层,或者也可以是一个MVC流程,至少把页面、业务逻辑、数据库访问这三种最明显的工作给区分开来,分层的作用是能更好的进行团队合作,各司其职,切断每个模块之间的耦合性,利于维护
4,C中三层架构中的三层里都写什么
三层架构很重要! 给你说下吧: UI层 是表示层,也就是界面! 给用户提供的交互界面, BLL层是业务逻辑层,用来对数据进行传递和数据处理的,它依赖于DAL层,也就是数据访问层,DAL层是数据访问层,是用来对数据库进行操作的,你对数据库操作的代码都写在这一层当中,这一层依赖于数据库,还有你刚才提到的 Models 层,这个是模型层,这层里面放的都是实体类,就是将数据库中的数据表里的列 定义成属性,封装在实体类 中。 相信你应该知道了吧!BLL是根据你UI前台的逻辑或动作组合。DAL是根据前台传来的数据来操作数据库增删改查的。Model是根据数据库生成的模型层(应该是先有模型再有数据库结构),UI就是的web层了,你aspx页面的东西,和对按钮的操作和页面内容的控制classdb { stringstr="数据连接字符串,你懂的"; sqlconnectioncon=new sqlconnection(str); publicstingsum() {
con.open();
stringconStr="selectsum(列名)from表";
sqlconmand cmd=new sqlconmand(conStr,con);
sqldatareaderreader=cmd.ExcuteReader();
reader.read();
stingsum=reader[0].tostring();
reader.close();
con.close();
returnsum; } }
privatefirn_load() {
classdb=newclass();
textbox.text=db.sum();}
5,开发大多数是用三层吗操作数据库Linq用
MVC (M) 模型(model)-(V)视图(view)-(C)控制器(controller) 三层指的是数据访问层,业务逻辑,表现层(一般还有一个实体类层用来做数据承载)。mvc+三层可以吧模型层分为业务逻辑层和数据访问层,之前在远标做过用java连接数据库主要有两种方式,一是用jdbc-odbc桥来连接,二是用相关厂商提供的相应驱动程序来连接,首先谈谈第一种连接。 jdbc-odbc桥接器是用jdbcodbc.class和一个用于访问odbc驱动程序的本地库实现的。对于windows平台,该本地库是一个动态连接库dll(jdbcodbc.dll)。 由于jdbc在设计上与odbc很接近。在内部,这个驱动程序把jdbc的方法映射到odbc调用上,这样,jdbc就可以和任何可用的odbc驱动程序进行交互了。这种桥接器的优点是,它使jdbc目前有能力访问几乎所有的数据库。通行方式如图所示: 应用程序---jdbc api---jdbc-odbc---odbc api---odbc层---数据源 具体操作方法为: 首先打开控制面板的管理工具,打开数据源(odbc),在用户dsn里面添加数据源(即你要连接的数据库的名字),在这里假定连接sql server 2000的goodssupply数据库。名称填写你要连接的数据库的名称(goodssupply),然后逐步设置,如果选用了使用sql-server密码认证的话,就要输入相应的用户名及密码连接到数据库。一路下一步设置完成。 在java里面编写程序进行测试,在这里我的程序是让用户输入任意的表名与与列名,把该列的所有数据输出。源代码如下: import java.io.bufferedreader; import java.io.inputstreamreader; import java.sql.*; public class odbcbridge public static void main(string[] args) string url="jdbc:odbc:goodssupply"; statement sm=null; string command=null; resultset rs=null; string tablename=null; string cname=null; string result=null; bufferedreader input=new bufferedreader(new inputstreamreader(system.in)); try try class.forname("sun.jdbc.odbc.jdbcodbcdriver"); //加载驱动 }catch(classnotfoundexception e)system.out.println("can not load jdbc-odbc bridge driver"); system.err.print("classnotfoundexception:"); system.err.println(e.getmessage()); } connection con=drivermanager.getconnection(url,"user","password"); //使用sql-server2000认证 databasemetadata dmd=con.getmetadata(); //dmd为连接的相应情况 system.out.println("连接的数据库:"+dmd.geturl()); system.out.println("驱动程序:"+dmd.getdrivername()); sm=con.createstatement(); system.out.println("输入表名"); tablename=input.readline(); while(true) system.out.println("输入列名(为空时程序结束):"); cname=input.readline(); if(cname.equalsignorecase("")) break; command="select "+cname+" from "+tablename; rs=sm.executequery(command); //执行查询 if(!rs.next()) system.out.println("表名或列名输入有误"); else system.out.println("查询结果为:"); do result=rs.getstring(cname); //数据库语言设置为中文,不用转换编码 //result=new string(result.getbytes("iso-8859-1"),"gb2312"); system.out.println(result); }while(rs.next()); } } }catch(sqlexception ex) system.out.println("sqlexception:"); while(ex!=null) system.out.println("message:"+ex.getmessage()); ex=ex.getnextexception(); } }catch(exception e) system.out.println("ioexception"); } } }
文章TAG:
操作 操作数据 数据 数据库 操作数据库代码写在哪个层 数据库操作放哪层