C# Winform 中使用 Mdi控件实现数据库插入操作
在C# Winform开发中,Microsoft Data Interoperability (MDI) 控件是一种强大的工具,用于集成数据库操作和用户界面。本文将介绍如何简单地在Windows Forms应用程序中使用MDI控件,特别是与SQL Server进行交互,实现向数据库中新增数据的功能。 首先,了解MDI控件的作用。MDI(Multiple Document Interface)是Visual Studio提供的一个框架,它允许在同一个窗体上打开多个子窗体(Document),每个子窗体都可以独立工作,但都隶属于主窗体。这种模式常用于创建具有独立工作区的应用程序,比如文档编辑器或图形设计软件。 在使用MDI控件时,我们关注的重点在于安全性和连接设置。在代码示例中,`IntegratedSecurity` 参数控制了数据库连接是否使用Windows身份验证。当`IntegratedSecurity = True` 时,系统会尝试使用当前登录用户的Windows身份验证来连接数据库,无需显式提供用户名和密码。如果`IntegratedSecurity` 为`SSPI`(Security Support Provider Interface),则系统使用Windows凭据;如果是`false`、`yes` 或 `no`,则意味着使用非Windows身份验证方式,如SQL Server登录名和密码。 例如: ```csharp string connectionString = "Server=.;Database=nor"; if (IntegratedSecurity == true) // 使用Windows身份验证 { connectionString += "IntegratedSecurity=SSPI"; } else // 使用SQL Server登录名和密码 { connectionString += "User ID=<your_username>;Password=<your_password>"; } SqlConnection connection = new SqlConnection(connectionString); connection.Open(); ``` 在`Form1_Load`事件中,我们需要设置数据库初始目录(Initial Catalog)以及根据上述配置的连接字符串建立数据库连接。这一步骤通常涉及创建一个新的`SqlConnection`对象,并调用其`Open()`方法来实际建立连接。然后,可以使用这个连接执行SQL命令,如插入数据: ```csharp SqlCommand command = new SqlCommand("INSERT INTO YourTable (ColumnName1, ColumnName2) VALUES (@Value1, @Value2)", connection); command.Parameters.AddWithValue("@Value1", value1); command.Parameters.AddWithValue("@Value2", value2); command.ExecuteNonQuery(); ``` 这里假设`YourTable`是你要插入数据的表名,`ColumnName1` 和 `ColumnName2` 是表中的列名,`value1` 和 `value2` 是要插入的数据。 总结来说,C# Winform中使用MDI控件与SQL Server进行数据操作涉及以下几个关键步骤: 1. 初始化数据库连接,根据`IntegratedSecurity`值选择合适的身份验证方式。 2. 创建`SqlCommand`对象,设置SQL语句和参数。 3. 打开数据库连接并执行SQL命令(如插入数据)。 通过合理利用MDI控件,可以构建出功能丰富的数据库管理应用,提升用户体验。同时,确保在处理敏感信息时遵循最佳实践,比如使用参数化查询以防止SQL注入攻击。
C#的winform连接SQLserver数据库实例代码
=======================================================================
//第一种:
//integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。
*****************
Integrated Security=SSPI:
设置Integrated Security为 True 的时候,采用windows身份验证模式。只有设置为 False 或省略该项的时候,采用 UserID, PW 来连接。integrated Security 可以设置为: True, false, yes, no ,还可以设置为:sspi ,相当于 True,建议用这个代替 True。
设置Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",
True表示保存,False表示不保存
*****************
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication2
{
//分部式类定义,就是一个类定义在不同的类文件里.public partial class Form1 : Form放在Form1.Designer.cs里public partial class Form1 : Form放在Form1.cs里这样Form1一个类就被定义在两个类文件里:Form1就是继承自For
public partial class Form1 : Form
{
{
//是有.NET平台自动执行的,是做一些初始化的工作,例如: 初始化FORM,上面的控件,//加载资源,分配资源等大部分加载的是 xxx.designer.cs 里的东西;
//系统自动加的,用来初始化窗体、及其窗体中的控件,使之可视化的一个函数
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//Database和Initial Catalog 意义是一样的,用哪一个都可以连接上数据库
string sqlConnectionString = "Server=.;Database=northwind;integrated security=sspi";
string sql = "select * from Categories"; //Categories 表名
//创建数据库连接
就是new了一个对象(conn),参数是数据库连接字符串((sqlConnectionString))
((sqlConnectionString))本身并不能连接数据库,这个只是一个字符串,作用是连接数据库,但本身并不能连接。 就好比钱可以换(买)东西,但钱本身并不能自己去买(换),是我们人拿钱去买
SqlConnection conn = new SqlConnection(sqlConnectionString);
//conn是对象,open()是方法,conn.open()是使用conn对象的open方法
conn.Open();
//SqlDataAdapter是数据适配器,不是用来查询的.主要用来填充数据集用的。与dataset密切相关
SqlDataAdapter是 DataSet(DataTable是DataSet的一部分)和 SQL Server之间的桥接器其实就是你用来把数据库的表,存放到 DataSet,DataTable得工具
SqlDataAdapter sda=new SqlDataAdapter (sql,conn);
DataSet ds=new DataSet ();
使用DataAdapter的Fill方法(填充),
sda.Fill(ds);
关闭数据库
conn.Close();
dataGridView1要显示的数据是数据集ds里的第一张表
dataGridView1.DataSource = ds.Tables[0];
}
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦