windows 开发

文章目录

  • 环境搭建
    • 数据库
      • 关键修改说明:
      • 在代码中使用该连接字符串:
      • 注意事项:
      • 实际使用

  • 都说几天创造一个奇迹,现在是真的这样了,Just do it!

环境搭建

数据库

  • 需要下载这个SQL Server数据库,然后每次Visual Studio连接的时候,需要我们本地就运行这个SQL Server

在这里插入图片描述

  • 视图->SQL Server 对象资源管理器
    在这里插入图片描述

  • 对于你想要连接的数据库,属性->连接字符串

在这里插入图片描述

  • 然后就是去配置App.config文件

需要在现有的 app.config 文件中添加数据库连接字符串。以下是修改后的完整配置文件内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration><startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup><connectionStrings><add name="FruitAppConnection" connectionString="Data Source=GWJ;Initial Catalog=fruitapp;Integrated Security=True;Connect Timeout=30;Encrypt=False;Trust Server Certificate=True;Application Intent=ReadWrite;Multi Subnet Failover=False" providerName="System.Data.SqlClient" /></connectionStrings>
</configuration>

关键修改说明:

  1. 添加 <connectionStrings> 节点

    • <configuration> 节点下新增该节点,用于存放数据库连接信息。
  2. 配置连接字符串

    • name="FruitAppConnection":自定义连接字符串的名称,在代码中通过此名称引用。
    • connectionString:使用你提供的完整连接字符串。
    • providerName="System.Data.SqlClient":指定使用 SQL Server 数据提供程序。

在代码中使用该连接字符串:

在 C# 代码中,可以通过以下方式获取并使用这个连接字符串:

using System.Configuration; // 需要添加对 System.Configuration 的引用// 获取连接字符串
string connStr = ConfigurationManager.ConnectionStrings["FruitAppConnection"].ConnectionString;// 使用 SqlSugar 示例
var db = new SqlSugarClient(new ConnectionConfig
{ConnectionString = connStr,DbType = DbType.SqlServer,IsAutoCloseConnection = true
});

注意事项:

  • 确保 SQL Server 实例名称(Data Source=GWJ)与你本地环境一致。
  • 如果使用 Windows 身份验证(Integrated Security=True),确保运行程序的用户账户有权限访问 fruitapp 数据库。
  • 如果数据库需要特殊权限,可改用 SQL Server 身份验证(添加 User IDPassword 参数)。

实际使用

  • 实际上,我们在具体的.cs文件对于数据库进行操作的时候,还需要引入这个System.Data.SqlClient命名空间,以便使用SQL Server数据库连接和操作的相关类
using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Windows.Forms;namespace appfruit
{public partial class LoginForm : Form{public LoginForm(){InitializeComponent();}private void btnLogin_Click(object sender, EventArgs e){string username = txtUsername.Text;string password = txtPassword.Text;// 从 App.config 中读取数据库连接字符串string connectionString = ConfigurationManager.ConnectionStrings["FruitAppConnection"].ConnectionString;using (SqlConnection connection = new SqlConnection(connectionString)){try{// 打开数据库连接connection.Open();// 编写 SQL 查询语句,假设用户信息存储在名为 Users 的表中string query = "SELECT COUNT(*) FROM Users WHERE Username = @Username AND Password = @Password";SqlCommand command = new SqlCommand(query, connection);command.Parameters.AddWithValue("@Username", username);command.Parameters.AddWithValue("@Password", password);// 执行查询并获取结果int count = (int)command.ExecuteScalar();if (count > 0){MessageBox.Show("登录成功!");this.DialogResult = DialogResult.OK;this.Close();}else{MessageBox.Show("用户名或密码错误,请重试。");}}catch (Exception ex){MessageBox.Show("数据库连接或查询出错:" + ex.Message);}}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/909389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费OCPP协议测试工具

免费OCPP 1.6J协议测试工具&#xff0c;简单实用。除加密功能外&#xff08;后续版本支持&#xff09;&#xff0c;支持所有消息调试。 后续将添加2.01和和2.1协议支持. 欢迎使用 Charge-Test

高等数学基础(行列式和矩阵的秩)

行列式主要用于判断矩阵是否可逆及计算特征方程 初见行列式 行列式起源于线性方程组求解 { a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 \begin{cases} a_{11}x_1 a_{12}x_2 b_1 \\ a_{21}x_1 a_{22}x_2 b_2 \end{cases} {a11​x1​a12​x2​b1​a21​x1​a22​x2…

开心灿烂go开发面试题

1.给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例1: 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] package main import “fmt” type ListNode struct { Val int Next *ListNode } func main() { l1 : &…

【Flutter】程序报错导致的灰屏总结

【Flutter】程序报错导致的灰屏总结 一、前言 在 Flutter 中&#xff0c;出现“灰屏”&#xff08;grey screen&#xff09;通常意味着 应用发生了未捕获的错误&#xff0c;导致框架无法正确构建 UI。 这也是在面试过程中常常问到的。 二、错误分类 常见的会导致灰屏的错误…

基于物联网设计的智慧家庭健康医疗系统

1. 项目开发背景 随着物联网&#xff08;IoT&#xff09;技术的发展&#xff0c;智能家居系统逐渐融入到我们的日常生活中&#xff0c;成为提高生活质量、增强家庭安全、提升健康管理的重要工具。特别是在健康医疗领域&#xff0c;借助物联网技术&#xff0c;智能家居不仅能够…

设计模式精讲 Day 1:单例模式(Singleton Pattern)

【设计模式精讲 Day 1】单例模式&#xff08;Singleton Pattern&#xff09; 文章内容 开篇 在软件开发中&#xff0c;设计模式是解决常见问题的通用解决方案。作为“设计模式精讲”系列的第一天&#xff0c;我们将深入讲解单例模式&#xff08;Singleton Pattern&#xff09…

【卫星通信】3GPP标准提案:面向NB-IoT(GEO)场景的IMS信令优化方案-降低卫星通信场景下的语音呼叫建立时延

一、引言 随着5G非地面网络&#xff08;NTN&#xff09;技术的演进&#xff0c;基于NB-IoT的卫星通信&#xff08;如GEO地球同步轨道卫星&#xff09;逐渐成为偏远地区语音服务的重要补充。然而&#xff0c;传统IP多媒体子系统&#xff08;IMS&#xff09;的信令流程在带宽受限…

软件测试之简单基础的安全测试方法(另外包含软测面试题库)

文章目录 前言安全测试是什么简单基础的安全测试方法密码安全操作权限验证SQL注入xss脚本攻击文件上传下载安全漏洞扫描Web扫描APP扫描 面试题库&#xff08;仅参考&#xff09;参考目录 前言 阅读本文前请注意最后编辑时间&#xff0c;文章内容可能与目前最新的技术发展情况相…

LCEL:LangChain 表达式语言详解与测试工程师的实践指南

引言 在 AI 应用开发中&#xff0c;如何高效地组合多个步骤&#xff08;如提示模板、模型调用、输出解析&#xff09;并优化执行流程&#xff0c;是开发者和测试工程师共同面临的挑战。LangChain Expression Language (LCEL) 作为 LangChain 的核心功能之一&#xff0c;提供了…

LeetCode面试经典150题—旋转数组—LeetCode189

原题请见&#xff1a;Leetcode189-旋转数组 1、题目描述 2、题目分析 首先容易想到的最简单的方案&#xff0c;是算出来移动K步之后&#xff0c;新数组的每一个坐标与原坐标的映射关系&#xff0c;然后根据映射关系放到一个全新的数组&#xff0c;再把新数组的值赋给原数组。…

2.5 Rviz使用教程

新建终端&#xff0c;键入命令 roslaunch wpr_simulation wpb_simple.launch 再新建终端&#xff0c;键入命令 rviz修改Fix Frame 为 base_footprint 点击add之后选择RobotModel 再增加一个LaserScan 选择激光雷达话题 可视化效果 配置的两种方法 1.在Gazebo运行的基础上&…

基于SpringBoot+JSP开发的招投标采购信息平台

角色&#xff1a; 管理员、普通用户 技术&#xff1a; 后端&#xff1a;Spring Boot Mybatis-Plus MySQL 前端&#xff1a;JSP 核心功能&#xff1a; 该平台是一个用于管理投标和招标信息的系统&#xff0c;主要提供信息发布、用户管理和交易管理等核心功能。 功能介绍…

【项目实训#10】HarmonyOS API文档RAG检索系统后端实现

【项目实训#10】HarmonyOS API文档RAG检索系统后端实现 文章目录 【项目实训#10】HarmonyOS API文档RAG检索系统后端实现一、背景简介二、RAG技术原理与架构设计2.1 RAG技术原理回顾与提升2.2 系统架构设计 三、RAG引擎核心实现3.1 RAG引擎初始化3.2 查询向量化3.3 文档检索实现…

专注于PLC数据采集MES交互解决方案

专注于PLC数据采集MES交互解决方案 前篇文章我们讲到当下的制造行业在工业4.0的大趋势下&#xff0c;MES系统成为现场制造过程管制的有利武器&#xff0c;更是质量追踪的一把好工具。我们要知道产品在各个加工环节的结果。除了人工在各个制造环节录入制造结果外&#xff0c;更…

微信小程序实现文字逐行动画效果渲染显示

1. 微信小程序实现文字逐行动画效果渲染显示 在微信小程序开发中,为了文字逐行动画效果渲染可以通过JavaScript 和 WXML 的动态数据绑定来实现,实现文字逐行显示的效果,同时结合 CSS 动画提升视觉体验。   如果需要更复杂的动画效果(如缩放、移动等),可以使用微信小程序…

Redux 原理深度剖析

1. Redux 实现 定义 Action 和 Reducer 类型&#xff0c;为了简便&#xff0c;先用JavaScript来演示。 1.1. 定义Action和Reducer类型 // 定义 Action 类型 /*** typedef {Object} Action* property {string} type*/// 定义 Reducer 类型 /*** callback Reducer* param {any…

【LangChain】4 基于文档的问答

对于给定的文档, 比如从PDF、网页、公司主页中提取构建的内部文档集合&#xff0c;我们可以使用大语言模型来回答关于这些文档内容的问题&#xff0c;以帮助用户更有效地获取和使用他们所需要的信息。这种方式非常有效且灵活地适用于实际应用场景&#xff0c;因为它不仅仅利用大…

基于Netty的TCP Server端和Client端解决正向隔离网闸数据透传问题

背景 因为安装了正向隔离网闸&#xff0c;导致数据传输的时候仅支持TCP协议和UDP协议&#xff0c;因此需要开发TCP Client和Server服务来将数据透传&#xff0c;当前环境是获取的数据并将数据转发到kafka 1.引入依赖 <dependency><groupId>io.netty</groupId>…

Cursor链接远程服务器实现项目部署

想获取更多高质量的Java技术文章&#xff1f;欢迎访问Java技术小馆官网&#xff0c;持续更新优质内容&#xff0c;助力技术成长 技术小馆官网 在软件开发过程中&#xff0c;远程服务器开发是一种常见的工作模式。通过远程连接服务器进行代码编写和环境配置&#xff0c;可以充分…

Redis集群模式之Redis Cluster(3)

上篇文章我们讲解了Redis Cluster的状态监测与恢复过程&#xff0c;这篇文章我们来进行Redis Cluster内容的收尾&#xff0c;将其扩容和缩容的过程进行讲解&#xff0c;并分析RedisCluster的优缺点。 扩容和缩容 当集群中出现容量限制或者其他一些原因需要扩容时&#xff0c;R…