‫欢迎回来｡
‫在此视频中, 我们将建立第一个表格｡
‫在此之前, 我想向你们展示本章的最终结果｡
‫如您所见, 这里有一个名为“主窗口”的窗口, 其中有多个不同的控件｡
‫因此, 我们有标签, 我们有一个列表框井, 多个按钮和多个列表框一般｡
‫你可以看到这里有多个动物园, 名字已经有点混淆了, 因为我已经把它们改了｡
‫但在这里您可以选中一个动物园或选择一个动物园, 您将看到该动物园中的相关动物｡
‫假设我们在东京有一个动物园, 里面有一条鲨鱼｡
‫我们有很多鲨鱼｡
‫我们有鳄鱼, 壁虎, 鹰, 所有这些动物｡
‫在纽约, 我们有不同种类的动物｡
‫所以在纽约我们有一个小动物园, 我们只有一条鳄鱼, 但后来我们决定在纽约动物园增加一只猴子｡
‫所以我们要把它加到纽约动物园里｡
‫如你所见, 这些是相关的动物｡
‫然后一旦我点击右边的动物或者动物园, 我的文本框就会改变它的值｡
‫所以它只需要我的城市的价值｡
‫这里我有, 例如, 开罗二号, 我想更新一下｡
‫所以我会删除这两个然后更新zoo｡
‫现在如你所见, 开罗已经更新｡
‫我的米兰动物园也可以这样做｡
‫所以我要更新米兰现在这个什么什么动物园｡
‫这是一个假的动物园, 它不存在, 所以我打算完全删除｡
‫我们的44号动物也是如此｡
‫我也会把那只动物完全删除｡
‫一般来说, 您现在可以看到, 我们需要考虑多个不同的因素, 我们使用了多个不同的表｡
‫首先, 我们有动物园的桌子, 然后我们有动物的桌子,
‫然后我们有一个桌子把这两个桌子连接起来｡
‫这将是我们在接下来的一个视频中将要讨论的更大的挑战｡
‫当然, 我们将构建此UI｡
‫它不是最漂亮的, 但是它的功能非常强大, 它会帮助你理解, 一般的数据库结构,
‫以及如何在C-sharp中使用数据库, 还有我的一些SQL｡
‫所以我建议我们从这个开始｡
‫因此, 我们回到Visual Studio｡
‫如你所见, 我有两个连接｡
‫你只有一个或者你应该只有一个连接, 我有另一个｡
‫这就是我刚刚连接到的, 以便向您展示演示｡
‫我们将使用我在这里创建的新函数｡
‫如你所见, 那里还没有桌子｡
‫因此, 我们需要创建一个新表｡
‫因此, 我右键单击该表, 并在此处创建一个新表｡
‫因此, 添加新的表, 这将打开一个小窗口｡
‫顺便说一句, 我将在这里使服务器资源管理器的侵入性降低一点, 以及如何隐藏它, 现在它看起来好多了｡
‫所以我们有一个小表, 它的ID是integer类型允许, nulls是或允许, nulls是无效的, 没有默认值｡
‫所以你可以在这里看到一个小钥匙｡
‫这意味着, 这将是关键列, 而您在这里创建的基本上是列｡
‫因此, 我们有一个名为ID的列, 然后我们可以在此处创建一个附加列｡
‫我将创建一个位置, 并将其命名为location, 就像这样.
‫我不允许空值｡
‫现在, 我需要更改数据类型｡
‫数据类型与我们在C中看到的不完全一样, 但有些数据类型与C中的数据类型相似｡
‫有日期, 日期时间, 字符, 位,
‫整数, 我这里要用的是条形图50和条形图50.
‫它允许我创建一个包含50个值的字符串, 并将其存储在我的位置中｡
‫现在, 我想更改的另一件重要的事情是, 我也想使这个ID成为我们的标识规范｡
‫我将单击属性上的标识规范｡
‫因此, 选择ID, 然后转到左侧的属性, 在右侧选择标识规范,
‫然后将is标识值更改为true｡
‫现在, 它将每次递增1｡
‫这意味着我们数据库中的每一个条目都有一个唯一的ID, 因为创建一个新条目时, ID总是递增1｡
‫这类似于继承中的例子, 我们在继承中得到了当前的通知ID和类似的东西｡
‫所以这就是我们的桌子｡
‫现在我想更改表名｡
‫我不想叫它桌子｡
‫我希望此表名称不同｡
‫所以我把它叫做Table Zu｡
‫这是我的zu表, 我在这里用单数值或者单数词, 而不是宙斯的复数｡
‫这其中有很多重要的原因｡
‫如果你想通读一下, StackOverflow上有一篇很棒的文章, 或者这里有一个很棒的答案,
‫其中有六个很好的理由为什么你应该使用单数术语｡
‫所以有人也有同样的问题, 单数还是复数｡
‫你可以在这里找到答案｡
‫好吧, 我会的
‫现在我们有了缩放表, 但还没有｡
‫顺便说一句, 您现在位于T SQL选项卡中｡
‫在这里, 我们只是创建一个表｡
‫一旦我按下顶部的这个更新键, 或者这个按钮, 或者shift all
‫due, 它就会更新并运行这个SQL代码, 这个代码会在DBO中创建一个名为ZU的表｡
‫它有一个整数类型的ID, 不允许空值, 所以它不会有空值, 它是主键,
‫同时也是标识.
‫ID是主键, 这意味着我们可以通过ID来定位任何内容, 然后我们有一个名为location的列, 这是另一个类型为var
‫char 50的列, 这意味着可以有50个不同的字符串字符,
‫这里也没有null｡
‫因此, 我们创建另一个不允许空值的列｡
‫好吧, 我会的
‫所以现在按下这个更新按钮, 它将更新我们的数据库｡
‫我将通过按下这个按钮来更新数据库｡
‫而现在, 正如你所看到的, 桌子下面什么都没有改变｡
‫但是如果你刷新一下, 你会突然看到这里有一张动物园的桌子, 这个桌子有一个ID和一个位置｡
‫现在, 我想访问动物园并更改其值, 以便您可以向右或按向右键｡
‫在动物园上单击此处, 然后显示表格数据｡
‫好吧, 这将打开, 因为德博动物园的数据, 这表明有一个ID和一个位置｡
‫所以这个是空的｡
‫因为它是空的, 所以我们还没有创建它｡
‫所以这条规则还不存在｡
‫所以现在才说不行｡
‫但是如果我输入一个位置, 在这里, 我会输入一个位置, 比如纽约｡
‫如您所见, 我已创建了ID为1的新位置,
‫我们可以在下方输入下一个位置, 您可以在此处将其加宽一点, 然后添加一些其他城市｡
‫所以我会加上东京, 柏林, 然后再加上开罗和米兰｡
‫当然, 我可以继续添加更多内容｡
‫好吧, 我会的
‫因此, 现在我们有多个不同的位置, 它们都有一个唯一的ID｡
‫现在我们从1到5｡
‫现在, 让我们继续创建一个新项目, 因为我们已经在服务器资源管理器中设置了所有这些内容, 甚至还没有一个项目｡
‫所以方案在这里, 方案一个零项目｡
‫我们现在不在一个项目中, 所以让我们创建一个新的项目, 我将把它命名为WP F Zoo Manager, 然后按OC｡
‫好的, 我们在WPF中, 在这里可以看到我们的XAML文件｡
‫接下来, 我们要做的是添加一个数据源｡
‫如您所见, 我现在按下数据源, 如果它没有显示出来｡
‫因此, 如果这里没有说明类似的内容, 那么您的项目当前没有数据源, 您只需单击右侧的项目｡
‫在这种情况下, WPF Zoo Manager, 然后按下数据源, 这将出现,
‫您将能够添加一个新的数据源｡
‫所以我在这里选择数据源类型数据库｡
‫然后我按下一步, 然后我使用数据集作为数据库模型｡
‫然后在这里您需要选择您的数据连接｡
‫我将选择我第二次创建的那个｡
‫面板是SQL, 它被称为DB, 我将显示字符串｡
‫好吧, 没关系｡
‫为了简单起见, 我就按了“是”｡
‫这里包括敏感数据和连接字符串｡
‫然后我按下下一步｡
‫顺便说一下, 如果您不想包含敏感数据, 那么您可以稍后在应用程序代码中进行设置｡
‫但我会尽量简单｡
‫所以我按下下一步, 然后我得到这个连接字符串, 它叫做惩罚者｡
‫在我的例子中是DB连接字符串, 我将复制它, 然后按“下一步”｡
‫然后我可以选择我的数据库对象, 如您所见, 我的表有一个zoo数据库对象, 我将选择它｡
‫如您所见, 有一个数据集名称, 称为授权DB数据集, 我们也可以更改它｡
‫但我打算让它保持原样｡
‫我按下“完成”, 这将创建我们的数据源, 正如您现在所看到的, 我们现在有了数据源｡
‫你现在可以做的是, 例如, 右键单击zoo, 然后用设计器编辑数据集,
‫你会发现你的数据库和一个设计｡
‫如您所见, 有一个表称为Zoo｡
‫它有一个称为ID的键值或键列｡
‫然后你有了位置, 有一个动物园表适配器, 它有一个填充和门数据, SQL功能｡
‫现在我们需要进入主窗口zemo, 在这里我们要设置SQL字符串, 因为我复制了字符串名称,
‫我马上就需要它｡
‫所以我创建了一个新字符串｡
‫我将把它称为连接字符串, 它将访问配置管理器, 即连接字符串｡
‫在这里的方括号中, 我需要输入带引号的字符串｡
‫现在它在抱怨, 因为它不知道这个配置管理器, 我可以在顶部添加它｡
‫我可以说是的, 使用配置管理器之类的东西, 但我们需要在那之前设置它｡
‫因此, 我在引用上单击鼠标右键, 在此处添加一个引用,
‫我想使用的引用是系统点配置｡
‫这里的那个｡
‫因此, 我单击“system configuration（系统配置）”旁边的复选标记, 然后按｡
‫好吗？
‫现在, 可以使用此配置管理器, 我们可以继续使用系统点配置进行添加｡
‫现在, 配置管理员突然不再抱怨了｡
‫好吧, 至少颜色出现了, 现在我们只需要添加正确的连接字符串｡
‫这就是我们项目的名称, 在我的例子中是两个WPF, 空格或下划线,
‫zu, manager, 点属性, 点设置, 然后是我复制的链接｡
‫这是DB连接字符串｡
‫接下来, 我们需要做的就是说这是我们的连接字符串｡
‫所以我们要像这样使用连接字符串属性｡
‫所以这是一个相当长的代码行｡
‫但这里重要的是, 您要使用项目的名称､ 点属性､ 点设置,
‫以及在创建数据源时设置的点字符串, 然后使用点连接字符串｡
‫好吧, 我会的
‫现在已经设置好了, 我们可以在下一个视频中继续,
‫在那里我们将进一步使用应用程序的SQL部分｡