C# 直接使用sql语句对数据库操作 (cmd.ExecuteNonQuery)
只介绍读和删
不管使用什么方法来对数据库进行操作都绕不开和数据库的连接问题,所以咱们先在App.config中添加连接字段
<connectionStrings>
<add name="connString" connectionString="server=.;database=Chat;integrated security=true"/>
</connectionStrings>
随后读取该字段,需要用到 System.Configuration.dll,所以在 References 中添加该dll。
涉及到对对象列表的操作的话,添加对应的实体类也是必须的
所以添加如下类示例
class UserAccount
{
public string Account { get; set; }
public string PWD { get; set; } }
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ok,正文开始
添加一个cs文件,添加如下代码示例
挺简单的,就不解释了,在注释中都写了
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data.SqlClient; namespace CMD_SQLquery
{
class TermsService
{
string connString = ConfigurationManager.ConnectionStrings["connString"].ToString(); /// <summary>
/// 通过SQL对数据库进行操作
/// 核心
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public int ExecuteSQL(string sql)
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
try
{
int result = cmd.ExecuteNonQuery();
return result;
}
catch (Exception)
{
throw;
}
finally
{
conn.Close();
}
}
/// <summary>
/// 拼接SQL语句 调用AddTermsVaule(string sql)
/// 过程就是拼接和调用
/// </summary>
/// <param name="Items">传入的需要保存的对象列表</param>
public void DB_AddItems(List<UserAccount> Items)
{
foreach (var item in Items)
{
StringBuilder objStrBuilder = new StringBuilder();
objStrBuilder.Append("insert into UserAccount ");
objStrBuilder.Append("(Account,PWD) ");
objStrBuilder.Append("Values('{0}','{1}')");
//如果在字段中含有‘,引号
//Replace("'", "''");
string sql = string.Format(objStrBuilder.ToString(), item.Account, item.PWD);
Console.SetCursorPosition(, );
Console.Write("Importing ");
Console.ForegroundColor = ConsoleColor.Red;
Console.Write(Items.IndexOf(item)+);
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(" / " + Items.Count);
ExecuteSQL(sql);
}
}
}
}
在主函数中调用 示例
static void Main(string[] args)
{
TermsService obj = new TermsService(); Console.WriteLine("Preparing Account Data ... ");
List<UserAccount> items = new List<UserAccount>();//准备对象列表
for (int i = ; i < ; i++)
{
items.Add(new UserAccount
{
Account = "Ac--" + (i + ).ToString(),
PWD="PWD**"+ (i + ).ToString()
});
}
Console.WriteLine("Prepared 5 peices of Account Data!");
obj.DB_AddItems(items);//存 Console.WriteLine("Press any key to truncate table...");
Console.ReadKey();
string sql = "truncate table UserAccount";
obj.ExecuteSQL(sql);//清空
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
程序截图:




这个方法针对数据量不大的操作,以我估算,这个方法大概能以5row/1s的速度进行存储。
C# 直接使用sql语句对数据库操作 (cmd.ExecuteNonQuery)的更多相关文章
- SQL语句之数据库操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 占坑,带写……
- SQL语句总结---数据库操作
https://blog.csdn.net/hallomrzhang/article/details/85010014 数据库操作 查看所有数据库 show databases; 1 查看当前使用的数 ...
- SQL语句之表操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 写在前面 在上一篇博文里面我整理了“行”级别的操作,分别是“增(insert).删 ...
- SQL语句之行操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 关系型数据库的存储形式 在关系型数据库中,数据都是以类似于Excel表格的形式存储 ...
- 3,SQL语句及数据库优化
1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual select*Fr ...
- SQL语句及数据库优化
1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual select*Fro ...
- MySQL之唯一索引、外键的变种、SQL语句数据行操作补充
0.唯一索引 unique对num进行唯一限制,表示num是独一无二的,uql是唯一索引名称 上面为联合索引:num和xx不能完全一样 1.外键的变种 a. 用户表和部门表 用户: 1 alex 1 ...
- 2-06使用SQL语句创建数据库3
向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下 ...
- 使用SQL语句清空数据库所有表的数据
使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...
随机推荐
- sklearn调用逻辑回归算法
1.逻辑回归算法即可以看做是回归算法,也可以看作是分类算法,通常用来解决分类问题,主要是二分类问题,对于多分类问题并不适合,也可以通过一定的技巧变形来间接解决. 2.决策边界是指不同分类结果之间的边界 ...
- Python3 中 的 绝对导入 与 相对导入
背景: 在学习tf的时候,看到了from __future__ import absolute_import,所以登记学习一下. 概览: 一般模块导入规则: import xxx时搜索文件的优先级如下 ...
- MyBatis源码部分简单地解析
. 一.解析xml: > org.apache.ibatis.session.SqlSessionFactoryBuilder.build(java.io.InputStream, java.l ...
- 使用 esxcli storage vmfs unmap 命令在精简置备的 LUN 上回收 VMFS 删除的块
官方原文链接: https://kb.vmware.com/s/article/2057513?lang=zh_CN 本文介绍如何通过运行 esxcli storage vmfs unmap 命令回收 ...
- 通过虚拟机增加Linux的磁盘(分区容量)
因为安装oracle设置的磁盘空间不足,所以安装失败.这里总结一下如何添加磁盘挂载 1. 右键虚拟机点击设置,然后点击磁盘,点击添加按钮 2.然后点击下一步下一步,直到安装成功 3.然后输入 fdis ...
- 四篇关于chen_zhe的美文
壹 chen_zhe人 那是谁 是谁 是谁 那就是 chen_zhe chen_zhe人 chen_zhe人 背负着暴政之名 抛弃了一切(指民心)而战斗(指禁言)的男人 chen_zhe代码是超音 ...
- java 接口 2.19
接口中所有的方法都是抽象的和public的,所有的属性都是public,static,final的.
- redis学习(四)
一.Redis 键(key) 1.Redis 键命令用于管理 redis 的键. 2.Redis 键命令的基本语法如下:redis 127.0.0.1:6379> COMMAND KEY_NAM ...
- 2020/2/22 74cms3.5.1 代码审计
0x00 网站结构 简单试了一下.每一个模块还是比较清楚的,分别对应网站的一个模块.还有一些没有权限访问 0x01 通读代码 先看入口文件,index.php 开头先对网站是否安装做了判断 然后就是判 ...
- POJ 2155:Matrix 二维树状数组
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 21757 Accepted: 8141 Descripti ...