LINQ学习笔记 -- 数据库的连接信息存哪了呢

赵直
• 阅读 1377

当些日子在聊天时,我又抛出了:语言只是工具,重要的是思想。软件的质量控制并不是靠语言,而是靠规范的论调。显然,对方表示质疑。为此,走上了VB.net的学习之路。

LINQ

官方如是说:LINQ to SQL 是.NET Framework 版本 3.5,它提供用于管理关系数据作为对象的运行时基础结构的组件。
可见,它是3.5开始有的新特性,用来管理关系数据的。

为什么要学习LINQ呢?

我们先看下当前项目的示例代码(以登录为例):

 db.connectDB()
        If PasswordTextBox.Text = "" Then
            MsgBox("用户名或密码不能为空!", 48, "提示")
            PasswordTextBox.Focus()
            Exit Sub
        End If

        str = "select f_zuidi,f_renyuan_id,f_jiemian from t_renyuan where f_zuofei=0 and f_xingming='" + CStr(ComboBox2.SelectedValue) + "' and (f_mima='" + PasswordTextBox.Text + "'" + " or  'xxxxx'='" + PasswordTextBox.Text + "')"

        ds = db.readrecord(str)
        If ds.Tables(0).Rows.Count = 0 Then
            PasswordTextBox.Text = ""
            MsgBox("用户名称或密码错误,请重新登录!", 48, "警告")
            db.closeDB()
            PasswordTextBox.Focus()
            Exit Sub
        Else

过程很简单,先连接数据库,如果密码为空,则提示。否则的话,去进行查库处理。如果没有查看到记录,则报错。否则的话,认为用户登录成功。

但这种代码,我们认为是无法控制其质量的,原因就是过多的出现了字符串(请忽略掉其它问题),试想一下。如果有一天数据表的某个字段名变更了(由f_zuifi变更为zuifi),我们还需要来到这个文件f_zuifi这个字符串,来手动的进行变更。而编译器不会给我们任何提示。如果仅仅有1个文件还可以,但随着项目的规模的增加,最后数据表字段的变更,就会变得不可控制。

如何使用LINQ

以前一直对微软有排斥的心理,主要是由于使用上MAC以后,感觉MAC的稳定性真的是做的太好了。当近距离接触了微软以后,才发现其文档的友好性。比如其官方竟然还有相关的视频教程:https://docs.microsoft.com/zh...。文档的确够多,够完善。推荐文档:https://docs.microsoft.com/zh...

其实官方文档真的说的够完善了,在具体的使用过程中,在执行 项目 -> 添加组件 时,未找到 LINQ to SQL 类。以时,我们需要来到工具 -> 获取工具与功能, 并选择单个组件中的LINQ to SQL 工具.

LINQ学习笔记 -- 数据库的连接信息存哪了呢

再然后就有了。

数据库信息存哪了呢?

在使用LINQ成功的查询后,我开始思索一个问题:当前是开发环境,如果是生产环境的数据库地址、端口、用户名、密码、数据库名称与我配置的不一样,我怎么修改呢?于是,查看数据源的代码:

    Public Sub New()
        MyBase.New(Global.stjl.My.MySettings.Default.testConnectionString, mappingSource)
        OnCreated
    End Sub

发现其使用的是项目的Settings中的值。

        Public ReadOnly Property testConnectionString() As String
            Get
                Return CType(Me("testConnectionString"),String)
            End Get
        End Property

获取的是testConnectionString这个字符串的配置信息。它竟然在这:

LINQ学习笔记 -- 数据库的连接信息存哪了呢

LINQ学习笔记 -- 数据库的连接信息存哪了呢

虽然还没有正式的发布过,但相信发布应用后这个值应该很容易修改吧。

结论

这给我了一个新的思路:一些关于项目配置的信息,我是否也应该放到这个文件中并且参考官方的调用方法进行调用呢?

点赞
收藏
评论区
推荐文章
学python的猫 学python的猫
4年前
python——零基础照样学
零基础,可以学编程嘛?这是很多初学者的心里都会存在的一个问题,当然,计算机方面的基础对任何一门编程语言的学习都是会有所帮助的,但是如果你在编程语言的学习上是零基础的话,也不用担心,因为不论哪门语言的学习,总是会有一个开始的。谁不是从零基础开始呢。我个人观点是python,是最适合作为学习编程路上的入门语言。原因大家都懂,python语言相对于其他语言来说
python知道 python知道
4年前
Python初学者必备书籍《Python入门经典》高清PDF版|百度网盘免费下载|Python初学者,自学Python必读
提取码:1028以及前文提到的学习路线图内容简介Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python可以用于很多的领域,从科学计算到游戏开发。《Python入门经典》是面向Python初学者的学习指南,详细介绍了Python编程基础,以及一些高级概念,如面向对象编程。全书分为24章。第1章介绍了Python的背景和安装方法。第2章
happlyfox happlyfox
4年前
[go-linq]-Go的.NET LINQ式查询方法
关于我开发者的福音,go也支持linq了坑爹的集合go在进行集合操作时,有很不舒服的地方,起初我真的是无力吐槽,又苦于找不到一个好的第三方库,只能每次写着重复代码。举个栗子类学生{姓名年龄性别}1、现在有10个学生的数组,如果我要统计所有年龄大于20岁的人,那我需要一、遍历二、自定义条件三、再append数组添加。2、接着我又
wanQQ wanQQ
4年前
数据库系统概念 学习笔记 Day01
数据库系统概念学习笔记Day01本笔记记录粗略学习数据库系统概论的笔记数据库管理系统概念数据库管理系统DataBaseManagementsystem,DBMS是由一个互相关联的数据的集合和一组用于访问这些数据的程序数据库应该具有的功能信息存储结构的定义信息操作机制的提供提供所存储信息的安全性保证即使系统崩溃或有人企图越权访问时也可以
Stella981 Stella981
4年前
C# 中合并2个 Dictionary
内置方法usingSystem.Collections.Generic;usingSystem.Linq;Dictionary<string,objectdicAnewDictionary<string,object(){{"Name","姓名"},
Stella981 Stella981
4年前
C# lambda 和 Linq
本章节给大家带来的是Lambda和Linq的关系Lambda:是实例化委托的一个参数,也就是一个方法Linq:是基于委托(lambda)的封装,代码重用,逻辑解耦,是一个帮助类库,linq是用泛型,委托,lamda实现的,总的来说:把对数据操作的通用部分完成,把可变的交给委托,使用者只关心可变部分。一、Lambda文章的开始
Stella981 Stella981
4年前
Linux系统里将Git打造成聊天工具
作为程序员,大家肯定都会跟版本控制软件打交道。Git是一款非常流行的版本控制软件,是由Linux之父Linus亲自开发而成,是软件开发过程中团队协作不可或缺的工具。但是,Git是一个版本控制软件,它怎么会跟聊天工具扯上关系呢?这两者相去甚远,但是就是有脑洞大开的老外,开发了一个工具:\GIC\,硬生生将Git改造成一个聊天工具!有了
Wesley13 Wesley13
4年前
Java与c#的一些细节区别
实习中用的语言是c,第一次接触到这种语言,然后写的过程中,发觉和Java几乎一摸一样,好像根本是无缝切换,但细节仍有很大的区别,称有空总结一波里面的部分细节实现。ps.我写c过程中,发觉c有很多优秀的特性,写起来在方便很多,比如lambda,linq等1.LambdaVSDelegate
Wesley13 Wesley13
4年前
MySQL 24小时入门笔记(1),概念
MySQL24小时入门笔记1\.数据库概念1.1数据和储存数据库本质上做的工作是储存和查询数据。理论上而言,MySQL应该叫做DBMS,也就是数据库管理系统,而不是数据库。DBMS提供了统一的建立、使用、管理数据库的接口,常见的DBMS有post
绣鸾 绣鸾
2年前
DataSpell 2023 for mac(数据科学IDE)
是一款由ActiveState公司开发的跨平台数据科学和机器学习开发工具,它旨在提供一整套工具和服务,帮助数据科学家和机器学习工程师更加高效地进行数据分析和建模。DataSpell的特点包括:1.适用于不同的编程语言和库:DataSpell支持多种编程语言
绣鸾 绣鸾
2年前
DataSpell 2023 for mac(数据科学IDE)
是一款由ActiveState公司开发的跨平台数据科学和机器学习开发工具,它旨在提供一整套工具和服务,帮助数据科学家和机器学习工程师更加高效地进行数据分析和建模。DataSpell的特点包括:1.适用于不同的编程语言和库:DataSpell支持多种编程语言
赵直
赵直
Lv1
黄鹂啭处谁同听,白菊开时且剩过。
文章
4
粉丝
0
获赞
0