C#编程实现远程连接SQL Server数据库操作
需积分: 32 79 浏览量
更新于2024-09-12
收藏 3KB TXT 举报
本文主要介绍了如何使用C#编程语言与SQL Server进行远程连接,并通过执行SQL语句将数据填充到Windows应用程序中的控件,如ComboBox、DataGridView和ListBox。
在C#中,要与SQL Server建立远程连接,首先需要创建一个SqlConnection对象,其构造函数接收一个字符串参数,即连接字符串。连接字符串包含了服务器地址(如`server=192.168.1.123`)、用户名(如`userid=sa`)、密码(如`pwd=sa`)以及要连接的数据库名称(如`database=AD`)。在示例代码中,创建连接的代码如下:
```csharp
String ConStr = "server=192.168.1.123;userid=sa;pwd=sa;database=AD";
SqlConnection thisConnection = new SqlConnection(ConStr);
thisConnection.Open();
```
一旦连接建立,可以通过调用Open()方法打开连接,然后可以执行SQL命令。例如,要显示一条消息框确认连接成功,可以添加如下代码:
```csharp
MessageBox.Show("连接成功");
```
在处理用户交互时,如ComboBox的选择改变事件(`comboBox1_SelectedIndexChanged`),可以使用选定的值执行查询并获取数据。以下代码展示了如何根据ComboBox中的选择查询Plugin表中的URL数据:
```csharp
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedID = comboBox1.SelectedItem.ToString();
int i = 0;
String ConStr = "server=192.168.1.123;userid=sa;pwd=sa;database=AD";
SqlConnection thisConnection = new SqlConnection(ConStr);
thisConnection.Open();
SqlCommand thisCommand = thisConnection.CreateCommand();
thisCommand.CommandText = "select URL from Plugin where Machine_ID='" + selectedID + "'";
SqlDataReader thisReader = thisCommand.ExecuteReader();
while (thisReader.Read())
{
DataGridViewRow row = new DataGridViewRow();
// 在这里处理读取的数据,例如填充DataGridView
}
thisConnection.Close();
}
```
在上述代码中,创建一个新的SqlCommand对象,设置它的CommandText属性为SQL查询语句,然后通过ExecuteReader()方法执行查询并返回一个SqlDataReader对象,用于遍历查询结果。通常,需要在每次操作数据库后关闭连接,防止资源泄漏,因此在数据处理完毕后调用Close()方法关闭连接。
此外,为了将数据填充到控件如DataGridView中,需要在while循环中处理每个查询结果行,创建新的DataGridViewRow对象,并设置相应的单元格数据。最后,将这些行添加到DataGridView的行集合中,实现数据显示。
C#与SQL Server的远程连接涉及连接字符串的构建、SqlConnection对象的使用以及SqlCommand对象来执行SQL查询。通过这样的连接,可以方便地从数据库获取数据并将其展示在Windows应用程序的界面控件中,提供用户交互功能。
丿咫尺天涯
- 粉丝: 107
- 资源: 6
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析