您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > ASP.net > 正文
创建ASP.NET数据存储层
[文章信息]
作者:
时间:2003-12-10
出处:Microsoft
责任编辑:方舟
[文章导读]
学习如何使用SQL Server 2000和VS.NET 2003为DotNetKB ASP.NET解决方案创建数据存储层
advertisement
热点推荐
· 好友上线通知——QQ千里眼
· 解析Windows操作系统的管理
· 剑走偏锋——灵巧的旁注攻击
· Mail Notifier邮件提醒工具
· Linux操作系统网络应用解疑
[正文]

上一页  1 2 3 4 5 6 7  下一页



  使用 Visual Studio .NET 定义数据库表

  在 Visual Studio .NET 中定义数据库表的最简单的方法是创建一个数据库图。这样,您可以在一个类似“所见即所得”的编辑器中定义所有细节。您只需展开 Server Explorer(服务器资源管理器)中相应的树,在 Database Diagrams(数据库图)项上单击鼠标右键,然后从上下文相关菜单中选择 New Database Diagram...(新建数据库图...),即可启动一个新的空白图。第一次启动某个图时,系统将要求您从数据库中选择一个表。因为您尚未创建任何表,所以可以忽略该对话框。现在,可以开始定义您的表了。

  在生成的《ASP.NET应用程序规划与设计》用户方案文档包含定义表所需的信息。学习定义如何在系统中添加新记录的方案,通常是了解需要存储哪些数据的最佳途径。有时,您需要查看诸如记录更新甚至是报告之类的其他方案,以确保没有遗漏其他字段。在本示例中,“添加记录”方案就是一个很好的参考方案。

  例如,以下是用于添加问题的方案:

  添加新问题

  向系统中添加一条新问题记录,其中包括标题、日期/时间、指明该问题所属类别的主题 ID 以及问题正文。有时还需要提供问题提出者姓名及其电子邮件地址。添加新问题之后,将向调用函数返回一个唯一的整数问题 ID。

  重要名词以粗体表示。阅读方案说明时,这些名词或表名(例如,“问题记录”就是一个很好的例子)往往能够表明需要存储哪些数据。使用上述信息,您可以在数据库图中添加一个新表并定义所需的列。下面的示例详细介绍了如何在数据库图中添加表。

  在图“surface”上单击鼠标右键并从上下文相关菜单中选择 New Table...(新建表...)。输入 Questions(问题)作为表名,然后单击 OK(确定)将其添加到图中。

  在 Questions(问题)表对话框中,键入上文所述方案中提供的字段信息。例如,Column Name(列名)= ID、Data Type(数据类型)= int、Length(长度)= 4,并取消选择 Allow Nulls(允许为空)复选框。对该表的其余部分重复上述操作(参见图 3)。


图 3:Questions(问题)表

  您将看到,第一列 (ID) 旁边有一个小的金色键。它表示该字段是该表的主键字段。要设置主键字段,可以在列表中的列名上单击鼠标右键,然后从上下文相关菜单中选择 Primary Key(主键)。另外,还应将此 ID 字段设置为以增量方式自动增加的标识列。这样,SQL Server 就可以为添加到表中的每条记录自动生成一个唯一的整数值。要进行此设置,请在该列上单击鼠标右键,从上下文相关菜单中选择 Properties(属性),然后在 Property Pages(属性页)对话框中选择 Columns(列)选项卡。其他的操作就很容易了(参见图 4)。


图 4:Property Pages(属性页)对话框中的 Columns(列)选项卡

  使用“添加主题记录”和“添加解答记录”方案中的信息,可以创建其他两个表。请务必为每个表创建 ID 列,并将这些列标记为标识列和主键。下面的图 5 显示了三个已完成的表。


图 5:三个已完成的表

  您会发现,这些表都通过连接线与数据库图连接起来。这些连接线表明表之间存在外键关系。例如,Questions(问题)表中的 TopicID 列与 Topics(主题)表中的 ID 列相关联。通过将这种关系存储到数据库中,您可以制定用以防止在数据库中保存非法数据的规则。本示例中的关系规则是,Questions.TopicID 列所允许的有效值只能是 Topics.ID 列中已存在的某条记录的值。

  您可以通过将 Questions(问题)表中的 TopicID 列拖放到 Topics(主题)表中的 ID 列上,来定义这些关系。此时将出现一个对话框,显示规则定义的详细信息并要求您按下 OK(确定)按钮进行确认(参见图 6)。


图 6:Create Relationship(创建关系)对话框

  您可能会发现,Responses.QuestionID 和 Questions.ID 之间也定义了一个关系。

  注意:您可能已经注意到,我们还没有为专家定义任何表。我决定将有关专家的信息存储在一个 XML 文件中,而不是存储在数据库中。这样做的主要原因是我们可以借此讨论一下如何读写 XML 数据,以便在同一个应用中融合 XML 数据和关系数据。我们将在下一部分中讨论有关专家数据的问题。

  至此,数据库和表都已定义完毕。以上介绍了解决方案的实际数据存储过程。但是,我们还需要了解如何在表中读写信息。为此,我们将定义 SQL Server 中的存储过程。


上一页  1 2 3 4 5 6 7  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 创建用于ASP.NET的分页控件
  • 为ASP.NET控件添加设计时支持
  • 初探ERP的数据库框架
  • 利用ASP.NET访问共享网络资源
  • ASPX页Web服务调用性能优化
  • ASP.NET中编程杀死进程
  • XmlTextWriter创建XML文件
  • ASP.NET应用程序规划与设计
  • 让手机帮你抱得美人归
  • 光棍节、孙悟空 配件也能分公母
  • 好友上线通知——QQ千里眼
  • 解析Windows操作系统的管理
  • 史前巨鳄 超频三散热器
  • 明花有主 飞利浦LCD有奖活动完美收场
  • 剑走偏锋——灵巧的旁注攻击
  • 统统闪开,最超值5700LE登场
  • Advertisement