通过DBMS可以建立具有任意数据结构的数据库?
答案:2 悬赏:50 手机版
解决时间 2021-05-06 09:22
- 提问者网友:蓝莓格格巫
- 2021-05-05 15:11
最佳答案
- 五星知识达人网友:轮獄道
- 2021-05-05 16:36
也不全对,关系型DBMS才能建立关系型DB。其他类型的DBMS不能直接建立关系型数据库。
全部回答
- -首先我是个财迷,请务必在采用我的答案以后再多加点分来。。。 开始系统的讲解: 看了楼主的提问,我发现楼主有以下几个知识误区: 1、楼主应该使用的是vs2005编写程序的,但分不清楚vs里窗体的代码编写区和生成区。 vs2005急于.net2.0开始支持分布类,特别是界面设计中应用广泛,无论winform还是webform都使用partial关键字。楼主所说的"在Form2.Designer.cs的"其实是想说Form2.cs,记住Form2.Designer.cs里面region里的代码不是你可以更改的,改了也无效。 2、上面的问题无关痛痒,关键是下面。楼主对dataadapter的认识不足,也可以说是对.net的ado.net数据访问技术框架理解不够。 不知道楼主是不是做过java,vb的开发,思路不是面向组件的说。 在ado.net中,微软为我们提供了方便的数据绑定组建datagrid,发展到现在的datagridview历经两代。可以说是微软对sqlserver支持的集大成。 因此功能强大,但是用的时候,我们愿意把他们当成仅仅还是个用户交互控件,说白了就是mvc里的view而已,当然并不代表他们里面没有数据和控制,但是一般我们都喜欢自己写定制化的(就是java里面的什么都自己写)。楼主现在就是定制化的思想,但是显然要解决您的问题定制化对您要求过高,所以还要用dataadapter。 一旦使用dataadapter就不能不说command了。我这里所说的都是接口,所以我阐述的已经是编程思想了。理论上适合所有类型数据库。 凡是面向数据库存储的编程,都离不开一些套路: 数据库驱动加载,数据库连接,连接的管理(开闭),命令的创建,命令向dbms(数据库管理系统)的传递,执行结果的处理。 ado.net亦是如此。但是为了可以段开式访问数据库,充分发挥客户端计算机的强大性能ado.net希望能够帮助用户管理数据连接和命令甚至结果。所以推出了这个dataadapter。这个adapter在各种都有实现,如果需要,我们还可以自己实现之,好像java一样。 这里要讲的不是我们如何重写之,而是针对sqlserver的sqldataadapter如何运行来讨论。 sqldataadapter为了支持微软的sqlserver系列产品专门封装了很多操作,使用方便但是又容易让初级用户误解。方便是方便在vs2005的拖拖拽拽上,迷糊就是迷糊在像楼主这样想自己写些东西上了。 所以我首先要为您讲解一下sqldataadapter里面到底有什么了。 楼主已经知道他里面有command特别是selectcommand,实际也应该知道updatecommand等其他3种修改用的dml的存在,但是楼主只知其一不知其二。那就是不理解dataset这个集ado.net大成的超级xml数据结构定义文件(实际他是文件,只是经常用完就释放了),它里面的结构酷似sqlserver数据库文件的数据结构库--表--行!是的!就是这样!dataset也有表datatable,datatable 也有行 datarow!而行很特别,它有行状态rowstate! 如果您能看明白的话,应该知道高潮已经开始了。rowstate为了方便我们用户被推出,目的就是为了用户可以傻瓜式操作数据库,解决很多程序员数据库不行的问题。当dataset和dataadapter结合使用时再加上一个commandbuilder一切就明朗了。builder顾名思义命令创建者。有了它,您的dataadapter里的4个大命令可以让系统自己生成了。以下: using System.Data; using System.Data.SqlClient; ... //支持查pubs库里的所有表 public DataTable FetchDataTableBySql(string sql) //修改库 public void UpdateDataTable(DataSet ds) 一切就ok了。看见了吧,很方便。你可以在datagridview任意操作然后只要返回修改的方法就可以将数据库修改成您想要的结果,但是,我们开发时候并不推荐用它,还是那句话,简单的东西是给lightuser用的,职业的要考虑性能。 昨天编程到3点,兴致不错写知道也写得很爽就把ado.net给您讲了,真的值很多分的哦,如果不愿意追分就当过年送礼啦,呵呵。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯