C#连接数据库并实现用户登录验证

需积分: 3 1 下载量 179 浏览量 更新于2024-09-10 收藏 8KB TXT 举报
"C#数据库连接,使用静态字符串变量constr存储数据库连接字符串,涉及数据库操作如登录验证(denglu方法)和菜单选择(caidan方法)。代码使用System.Data.SqlClient命名空间,通过SqlConnection和SqlCommand对象与SQL Server进行交互。" 在C#编程中,数据库连接是应用程序与数据库进行交互的基础。在提供的描述和代码片段中,我们看到一个用于存储数据库连接信息的静态字符串`constr`。这个字符串以ADO.NET(ActiveX Data Objects .NET)的方式定义,遵循ODBC(Open Database Connectivity)的数据源名称(DSN)格式。具体来说,连接字符串包含以下部分: - `DataSource=.;` 指定数据源为本地服务器("."代表本机),而"."表示默认的SQL Server实例。 - `Initial Catalog=TS1117;` 定义了要连接的数据库名称为"TS1117"。 - `User Id=Martin;` 用户名设置为"Martin"。 - `Pwd=123;` 密码设置为"123"。 接下来,代码创建了一个`SqlConnection`对象`con`,用于管理与数据库的连接。在`Main`方法中,用户输入用户名和密码,这些信息被传递给`denglu`方法进行登录验证。`denglu`方法打开数据库连接,执行一个SQL查询来检查指定的用户名和密码是否匹配数据库中的记录。这里使用`SqlCommand`对象创建SQL命令,执行`ExecuteScalar`方法获取查询结果的第一行第一列,即匹配记录的数量。如果返回值大于0,表示登录成功,程序会调用`caidan`方法显示菜单供用户选择操作。 `caidan`方法展示了几个选项,包括查看所有学生、显示课程、查询学生信息等,这暗示了可能有进一步的数据库操作。然而,实际的实现并未给出,所以这部分仅是一个框架。 值得注意的是,这段代码没有采用最佳实践,例如使用参数化查询来防止SQL注入攻击,也没有处理可能的异常,这可能会导致安全问题和程序不稳定。在实际开发中,应确保使用预编译的SQL语句(使用`SqlParameter`对象)并捕获可能的异常,以提高代码的健壮性和安全性。 此外,关闭数据库连接是一个重要的步骤,以释放系统资源。在这段代码中,`Close`方法在每次数据库操作后都被调用,这是正确的做法,但更现代的做法是使用`using`语句块,它会自动处理资源的关闭和释放。 这个示例展示了C#如何通过ADO.NET连接到SQL Server数据库,执行基本的查询操作以及提供简单的用户交互。然而,为了在实际项目中使用,这段代码需要进行安全性和功能性的扩展和优化。