c#数据库: 9.删除和添加新字段/数据更新

embedded/2024/10/11 5:22:00/

先把原来数据表的sexy字段删除,然后重新在添加字段sexy,如果添加成功,sexy列的随机内容会更新.原数据表如下:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace StudentAlter
{internal class Program{static void Main(string[] args){Random random = new Random();string connectionString =                                                  //数据库连接字符串"Data Source=.\\SQLExpress;Database=aq;Trusted_Connection=true;";SqlConnection connection = new SqlConnection(connectionString);//创建数据库连接实例connection.Open();                                                         //打开数据库连接Console.WriteLine("数据库aq连接成功!");string sql = "ALTER TABLE staq_info DROP COLUMN sexy;";using (SqlCommand command = new SqlCommand(sql, connection)){command.ExecuteNonQuery();Console.WriteLine("字段sexy已删除。");}Console.ReadKey();//ALTER TABLE staq_info DROP COLUMN age, DROP COLUMN grade;//为表staq_info增加sexy字段SqlCommand cmd = new SqlCommand();                    //创建数据查询类实例cmd.Connection = connection;cmd.CommandText = "ALTER TABLE staq_info ADD sexy varchar(2)";cmd.ExecuteNonQuery();                                //执行添加sex字段SQL语句cmd.Dispose();//利用数据集对所有学生信息的sex字段赋值SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM staq_info","Data Source=.\\SQLExpress;Database=aq;Trusted_Connection=true;");DataSet dataSet = new DataSet();                                    //创建数据集adapter.Fill(dataSet);                                              //填充数据集int columnCount = dataSet.Tables[0].Columns.Count-1; //获取表总列数减1,for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)//i表格第几行{dataSet.Tables[0].Rows[i][columnCount] = random.Next(2) == 0 ? "男" : "女";//修改性别值。[columnCount] 中的值代表在第几列添加(初始是第0列),本例是最后一行}SqlCommandBuilder builder = new SqlCommandBuilder(adapter);    //将数据集更新以便与数据库协调adapter.Update(dataSet);                                   //更新数据集到数据库                                                Console.WriteLine("tj成功!");Console.ReadKey();}}
}

 本实例代码主要实现了向数据表中添加新字段。首先利用SqlConnection对象连接学生数据库,然后通过SqlCommand对象执行向学生信息表中增加性别字段的SQL语句,接着通过SqlDataAdapter对象查询修改后的学生表记录。此时所有记录的性别字段都为空,先将查询结果填充到数据集,然后通过逐行为数据集表中最后一列赋值,实现为性别字段赋值,接着创建SqlCommandBuilder协调数据集更新与数据库连接,最后调用SqlDataAdapter对象的Update方法实现将数据集的修改更新到数据库中。

运行C#代码:

然后在SQL Server Management Studio Management Studio 查看更新(先删除后添加)后的结果(先刷新):最后一列对比不同.

---------------------------------------            --------------------------------------

综合测试代码,删除和添加新字段及数据更新:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace StudentAlter
{internal class Program{static void Main(string[] args){ Random random = new Random();string connectionString =                                                  //数据库连接字符串"Data Source=.\\SQLExpress;Database=aq;Trusted_Connection=true;";SqlConnection connection = new SqlConnection(connectionString);//创建数据库连接实例connection.Open();                                                         //打开数据库连接Console.WriteLine("数据库aq连接成功!");string sql = "ALTER TABLE staq_info DROP COLUMN sexy;";try {using (SqlCommand command = new SqlCommand(sql, connection)){command.ExecuteNonQuery();Console.WriteLine("字段sexy已删除。");}} catch (Exception) { };string sq2 = "ALTER TABLE staq_info DROP COLUMN sexy1;";try{using (SqlCommand command = new SqlCommand(sq2, connection)){command.ExecuteNonQuery();Console.WriteLine("字段sexy1已删除。");}}catch (Exception) { };Console.ReadKey();// 为表staq_info增加age字段  try { using (SqlCommand cmd1 = new SqlCommand("ALTER TABLE staq_info ADD age int", connection)){cmd1.ExecuteNonQuery();}}catch (Exception) { };try {// 为表staq_info增加sexy字段  using (SqlCommand cmd = new SqlCommand("ALTER TABLE staq_info ADD sexy varchar(2)", connection)){cmd.ExecuteNonQuery();}}catch (Exception) { };SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM staq_info","Data Source=.\\SQLExpress;Database=aq;Trusted_Connection=true;");DataSet dataSet = new DataSet();                                    //创建数据集adapter.Fill(dataSet);                                              //填充数据集int columnCount = dataSet.Tables[0].Columns.Count-1; //获取表总列数减1,for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)//i表格第几行{dataSet.Tables[0].Rows[i][2] = random.Next(1, 5);//更新第2列(grade)的内容dataSet.Tables[0].Rows[i][columnCount-1] = random.Next(20,25);//更新倒数第2列的内容dataSet.Tables[0].Rows[i][columnCount] = random.Next(2) == 0 ? "男" : "女";//修改性别值。[columnCount] 中的值代表在第几列添加(初始是第0列),本例是最后一行}SqlCommandBuilder builder = new SqlCommandBuilder(adapter);    //将数据集更新以便与数据库协调adapter.Update(dataSet);                                   //更新数据集到数据库                                                Console.WriteLine("tj成功!");Console.ReadKey();}}
}

运行C#代码: 


http://www.ppmy.cn/embedded/26278.html

相关文章

线上线下交友陪玩,支持小程序/app/h5三端打包,源码搭建!

社交APP定制开发的好处&#xff1a; 社交APP定制开发能够根据用户需求进行个性化定制&#xff0c;满足用户对于社交功能的特殊需求。不同用户对社交的理解和需求各不相同&#xff0c;定制开发可以根据用户的要求&#xff0c;提供更加个性化和专属的社交功能&#xff0c;为用户…

思考从软件规划到结束使用的问题——软件生命周期,DevOps机制

软件开发大致可以分为从需求定义开始到设计&#xff0c;实现&#xff0c;测试&#xff0c;发布等步骤。我们将从软件的企划到应用结束的整体流程称为软件生命周期&#xff0c;涵盖从企划&#xff0c;需求定义&#xff0c;开发&#xff0c;导入&#xff0c;应用到维护的整个周期…

Kafka 2.13-3.7.0 在 Windows 上的安装与配置指南

在本文中&#xff0c;我将引导您完成在Windows操作系统上安装Apache Kafka 2.13-3.7.0的全过程&#xff0c;包括下载Scala运行环境、Kafka软件包、配置相关设置&#xff0c;并最终启动Kafka服务。此外&#xff0c;还会简要介绍如何使用客户端工具进行查看和管理。 Kafka的命名…

【漏洞复现】zookeeper AdminServer 未授权访问漏洞

0x01 产品简介 ZooKeeper 是一个集中式服务&#xff0c;用于维护配置信息、命名、提供分布式同步和提供组服务。ZooKeeper的AdminServer是其管理界面的一部分&#xff0c;通常用于监控ZooKeeper集群的状态和执行一些管理操作。AdminServer提供了Web-based的管理和监控功能&…

关于apache+php用户验证

一.直接在apache配置配置用户信息 1.apache配置可以参考外部文档 https://developer.aliyun.com/article/507049 2.上面配置好在php获取用户信息&#xff08;登录apache会拦截&#xff09; $userName $_SERVER[PHP_AUTH_USER];$password $_SERVER[PHP_AUTH_PW]; 二.上面直…

Python.第六章(函数)

# 第六章 函数# 在Python语言中&#xff0c;定义函数的语法格式如下: # def 函数名([参数列表]): # 函数体# [注意] # (1)圆括号内是形参列表&#xff0c;如果有多个参数则使用逗号分隔开&#xff0c; # 即使该函数 # 不需要接收任何参数&#xff0c;也必须保留一对空的圆…

阿里云详细介绍,与AWS和GCP比较

一、阿里云详解 阿里云&#xff08;Alibaba Cloud&#xff09;&#xff0c;也被称为阿里巴巴云计算&#xff0c;是中国最大的云服务提供商&#xff0c;同时在全球范围内也具有显著的市场影响力。自2009年成立以来&#xff0c;阿里云已经发展成为一个提供全方位服务的云平台&am…

使用ganache实现Web3js和区块链交互的步骤 及问题解决:Command ‘express’ not found等

Web3js和区块链交互 做一个简单的dapp 1.express安装 sudo npm install express -g 出现问题&#xff1a;Command ‘express’ not found, 解决&#xff1a;在安装express时增加generator参数&#xff1a; npm install -g express-generator 成功后使用 express -e MyDa…