C# Windows Forms 应用程序中连接到 数据库

news/2024/12/22 1:13:43/

要在 C# Windows Forms 应用程序中连接到 SQL Server,你需要使用 .NET Framework 的 System.Data.SqlClient 命名空间,这个命名空间提供了连接和操作 SQL Server 的工具。以下是一个简单的示例,展示如何建立连接并执行 SQL 查询。

步骤 1: 添加引用
首先,确保你的项目中包含了对 System.Data.SqlClient 的引用。在 Visual Studio 中,这通常是默认包含的。如果你使用的是 .NET Core 或 .NET 5/6,则应该使用 Microsoft.Data.SqlClient。

步骤 2: 添加连接字符串
在你的 Windows Forms 应用的 App.config 或 Web.config 文件中添加一个连接字符串:

<configuration><connectionStrings><add name="MyDBConnectionString" connectionString="Server=your_server_name; Database=your_database_name; Integrated Security=True;" providerName="System.Data.SqlClient"/></connectionStrings>
</configuration>

你可以选择使用 Integrated Security=True(Windows 身份验证)或指定 User ID 和 Password(SQL Server 身份验证)。

步骤 3: 编写 C# 代码来连接数据库
在你的 C# Windows Forms 应用中,你可以使用以下代码来连接 SQL Server 并执行一些基本操作:

        using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;namespace YourNamespace
{public partial class MainForm : Form{public MainForm(){InitializeComponent();}private void btnLoadData_Click(object sender, EventArgs e){string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;using (SqlConnection con = new SqlConnection(connectionString)){try{con.Open();string query = "SELECT * FROM YourTable"; // 更改为你的 SQL 查询SqlCommand cmd = new SqlCommand(query, con);SqlDataReader reader = cmd.ExecuteReader();DataTable dt = new DataTable();dt.Load(reader);dataGridView.DataSource = dt; // 假设你有一个名为 dataGridView 的 DataGridView 控件}catch (Exception ex){MessageBox.Show("An error occurred: " + ex.Message);}}}}
}

确保将 YourNamespace, YourTable, 和控件名等替换为你项目中实际使用的名称。

步骤 4: 运行和测试
运行你的应用程序,点击加载数据的按钮,应该可以看到从 SQL Server 加载的数据显示在 DataGridView 控件中。

确保你的 SQL Server 允许远程连接(如果你的应用不是在同一台机器上运行的话),并且 SQL Server 的防火墙设置允许相应的端口(默认是 1433)通信。


http://www.ppmy.cn/news/1453635.html

相关文章

http请求内容

Cookie 可以包含多个键值对&#xff0c;因此它不仅限于单个值。一个 Cookie 可以携带多个属性&#xff0c;每个属性由键值对表示 Set-Cookie: namevalue; expiresSat, 30 Apr 2022 23:59:59 GMT; path/; domain.example.com; secure; HttpOnly 在HTTP协议中&#xff0c;请求头之…

Flutter页面缓存

定义一个单独的KeepAliveWrapper.dart 的tool文件 import package:flutter/material.dart;class KeepAliveWrapper extends StatefulWidget {const KeepAliveWrapper({Key? key, required this.child, this.keepAlive true}): super(key: key);final Widget? child;final b…

Colibri for Mac v2.2.0激活版:专业级无损音乐播放器

Colibri for Mac是一款专为Mac用户设计的高分辨率无损音乐播放器。它基于BASS技术构建&#xff0c;为用户带来极致的音频体验。Colibri支持所有流行的无损和有损音频格式&#xff0c;如FLAC、MP3、AAC等&#xff0c;确保音乐播放的清晰度和完美度。其独特的清晰比特完美播放技术…

C++新特性

智能指针 为什么需要智能指针 智能指针主要解决以下问题&#xff1a; 内存泄漏&#xff1a;内存手动释放&#xff0c;使用智能指针可以自动释放共享所有权指针的传播和释放&#xff0c;比如多线程使用同一个对象时析构问题&#xff0c;比如&#xff1a; C里面的四个智能指针…

【Qt QML】Frame组件

Frame&#xff08;框架&#xff09;包含在&#xff1a; import QtQuick.Controls继承自Pane控件。用于在可视框架内布局一组逻辑控件。简单来说就是用来包裹和突出显示其他可视元素。Frame不提供自己的布局&#xff0c;但需要自己对元素位置进行设置和定位&#xff0c;例如通过…

【Linux】Linux下使用ps命令的详尽指南

我把我唱给你听 把你纯真无邪的笑容给我吧 我们应该有快乐的 幸福的晴朗的时光 我把我唱给你听 用我炙热的感情感动你好吗 岁月是值得怀念的留恋的 害羞的红色脸庞 谁能够代替你呀 趁年轻尽情的爱吧 最最亲爱的人啊 路途遥远我们在一起吧 &#x1f3b5; 叶…

掌握JavaScript面向对象编程核心密码:深入解析JavaScript面向对象机制对象概念、原型模式与继承策略全面指南,高效创建高质量、可维护代码

ECMAScript&#xff08;简称ES&#xff0c;是JavaScript的标准规范&#xff09;支持面向对象编程&#xff0c;通过构造函数模拟类&#xff0c;原型链实现继承&#xff0c;以及ES6引入的class语法糖简化面向对象开发。对象可通过构造函数创建&#xff0c;使用原型链共享方法和属…

CentOS-Stream-9配置网络和web控制台cockpit

vim /etc/NetworkManager/system-connections/ens33.nmconnection&#xff0c;修改autoconnectiontrue自动连接网络&#xff0c;可以自动获取IP地址&#xff0c;或者设置固定IP地址&#xff0c;在[ipv4]下面编辑methodmanual和address1192.168.4.111/24,192.168.4.1和dns223.5.…