C#如何在窗体程序中操作数据库数据

你好,操作数据库是窗体程序的一个关键功能之一,C#通过ADO.NET技术来实现数据库连接,并且提供了丰富的工具和类实现数据的访问、读写和更新等操作。下面是C#在窗体程序中操作数据库数据的完整攻略。

步骤一:创建数据库连接

连接数据库是操作数据库的第一步,C#通过SqlConnection类来创建数据库连接,构造方法的参数是连接字符串,其中包含数据库的地址、用户名、密码等信息,代码示例:

using System.Data.SqlClient;

SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=testdb;User ID=myusername;Password=mypassword");
con.Open();

此处连接字符串中testdb为数据库名称,myusername和mypassword为数据库登录用户名和密码,可以根据实际情况修改。

步骤二:执行 SQL 命令

连接数据库之后,可以使用SqlCommand类执行SQL命令,例如查询语句、插入语句、更新语句和删除语句等,示例代码:

SqlCommand cmd = new SqlCommand("SELECT * FROM users", con);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    string name = reader.GetString(0);
    int age = reader.GetInt32(1);
    Console.WriteLine("Name: {0}, Age: {1}", name, age);
}
reader.Close();

此处示例执行了一个查询users表的语句,并将结果逐行输出到控制台。

步骤三:关闭连接

执行完SQL命令之后,需要关闭SqlConnection连接对象,释放资源,示例代码:

con.Close();

示例一:插入数据到数据库中

下面是一个示例代码,在窗体程序中插入数据到数据库中的操作,插入的数据包括姓名和年龄,示例代码:

private void button1_Click(object sender, EventArgs e)
{
    string name = textBox1.Text;
    int age = int.Parse(textBox2.Text);
    string sql = string.Format("INSERT INTO users(name, age) VALUES('{0}', {1})", name, age);
    SqlCommand cmd = new SqlCommand(sql, con);
    cmd.ExecuteNonQuery();
    MessageBox.Show("插入成功");
}

通过读取窗体中的TextBox输入值,构造插入语句,然后通过SqlCommand的ExecuteNonQuery方法执行插入操作。

示例二:更新数据库中的数据

下面是一个示例代码,在窗体程序中更新数据库中的数据,更新的数据为指定姓名的用户年龄,示例代码:

private void button2_Click(object sender, EventArgs e)
{
    string name = textBox3.Text;
    int age = int.Parse(textBox4.Text);
    string sql = string.Format("UPDATE users SET age = {0} WHERE name = '{1}'", age, name);
    SqlCommand cmd = new SqlCommand(sql, con);
    int result = cmd.ExecuteNonQuery();
    if (result == 0)
    {
        MessageBox.Show("更新失败");
    }
    else
    {
        MessageBox.Show("更新成功");
    }
}

通过读取窗体中的TextBox输入值,构造更新语句,然后通过SqlCommand的ExecuteNonQuery方法执行更新操作,判断结果是否为0,如果为0则更新失败,否则更新成功。

以上是C#在窗体程序中操作数据库数据的完整攻略,通过SqlConnection类创建连接到数据库,然后通过SqlCommand类执行SQL命令,最后关闭SqlConnection连接对象释放资源。示例代码展示了插入和更新数据的具体操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#如何在窗体程序中操作数据库数据 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • WCF中使用nettcp协议进行通讯的方法

    下面是关于“WCF中使用nettcp协议进行通讯的方法”的完整攻略,包含两个示例。 1. 什么是nettcp协议 nettcp协议是一种用于WCF通信的传输协议。nettcp协议是一种高性能、可靠的协议,适用于在同一局域网内的通信。nettcp协议使用二进制编码,可以提高通信效率。 2. 配置WCF服务使用nettcp协议 以下是配置WCF服务使用nettc…

    C# 2023年5月15日
    00
  • c#如何显式实现接口成员

    当一个类实现了一个接口时,它必须实现该接口中所定义的所有成员。这些成员可以是抽象的或者是具有实现的。 在某些情况下,我们可能需要在实现类中对接口的方法进行定制化的实现,而又不希望这个接口的方法对外暴露。这时候,我们可以使用“显式实现接口成员”的方式来实现。 以下是实现的步骤: 第一步:定义接口 在开始定义类时,首先要定义一个接口,该接口必须在类中实现。例如,…

    C# 2023年6月6日
    00
  • ASP.NET Core – 缓存之内存缓存(下)

    话接上篇 [ASP.NET Core – 缓存之内存缓存(上)],所以这里的目录从 2.4 开始。 2.4 MemoryCacheEntryOptions MemoryCacheEntryOptions 是内存缓存配置类,可以通过它配置缓存相关的策略。除了上面讲到的过期时间,我们还能够设置下面这些: 设置缓存优先级。 设置在从缓存中逐出条目后调用的 Post…

    C# 2023年4月17日
    00
  • 免费开源百度编辑器(UEditor)使用方法

    下面我为您详细讲解“免费开源百度编辑器(UEditor)使用方法”的完整攻略。UEditor是一款基于JavaScript的所见即所得富文本编辑器,具有简单易用、兼容性好、功能强大等优点。本攻略主要分为以下几步: 1. 下载UEditor 首先,我们需要到UEditor的官方网站(http://ueditor.baidu.com/website/downlo…

    C# 2023年6月6日
    00
  • 采用C#代码动态设置文件权限

    关于采用C#代码动态设置文件权限的完整攻略,我们可以分为以下几个步骤来实现: 引用命名空间我们需要引用System.Security.AccessControl和System.IO命名空间,前者是用来操作文件、文件夹的访问控制列表(ACL),后者则用来操作文件或文件夹。 设置文件夹路径或文件路径设置需要控制权限的文件夹路径或文件路径。 string path…

    C# 2023年6月1日
    00
  • c#通过ip获取地理信息

    获取IP地址的地理位置信息通常可以使用IP地理定位API实现,而对于C#开发者,我们可以使用第三方库或通过一些开源API实现该功能。 通过第三方库获取IP地理位置 一些第三方库可以大大简化通过IP地址获取地理位置信息的过程。下面是一个通过使用MaxMind GeoIP2库来获取IP地址的地理位置信息的示例代码: using System; using Max…

    C# 2023年6月7日
    00
  • C#实现的封装CURD到SqlHelper类用法简单分析

    让我来为您详细讲解“C#实现的封装CURD到SqlHelper类用法简单分析”的完整攻略。 1. 什么是CURD操作? CURD是数据库中的四种操作,包括新增(Create)、查询(Retrieve)、修改(Update)、删除(Delete)。在实际的应用场景中,我们经常需要对数据库进行这四种操作。 2. 什么是SqlHelper类? SqlHelper是…

    C# 2023年5月15日
    00
  • C#中事件的定义和使用

    C#中的事件是一种特殊的委托类型,它可以使对象在某个特定的时间点上引发或触发某个动作或事件。事件可以用于编写响应用户交互、处理消息通知等许多用途。 一、事件的定义 事件定义的基本语法格式如下: public delegate void SomeEventHandler(object sender, EventArgs e); public class Som…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部