只介绍读和删

不管使用什么方法来对数据库进行操作都绕不开和数据库的连接问题,所以咱们先在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)的更多相关文章

  1. SQL语句之数据库操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 占坑,带写……

  2. SQL语句总结---数据库操作

    https://blog.csdn.net/hallomrzhang/article/details/85010014 数据库操作 查看所有数据库 show databases; 1 查看当前使用的数 ...

  3. SQL语句之表操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 写在前面 在上一篇博文里面我整理了“行”级别的操作,分别是“增(insert).删 ...

  4. SQL语句之行操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 关系型数据库的存储形式 在关系型数据库中,数据都是以类似于Excel表格的形式存储 ...

  5. 3,SQL语句及数据库优化

       1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual select*Fr ...

  6. SQL语句及数据库优化

     1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual  select*Fro ...

  7. MySQL之唯一索引、外键的变种、SQL语句数据行操作补充

    0.唯一索引 unique对num进行唯一限制,表示num是独一无二的,uql是唯一索引名称 上面为联合索引:num和xx不能完全一样  1.外键的变种 a. 用户表和部门表 用户: 1 alex 1 ...

  8. 2-06使用SQL语句创建数据库3

    向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下 ...

  9. 使用SQL语句清空数据库所有表的数据

    使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...

随机推荐

  1. Echarts学习宝典

    1,可以使用百度图说中的图表代码复制到option中,还可在百度图说中以可视化的方式编辑数据,调整参数和编辑样式.(也可借助百度图说更改部分样式) 2,借助网站 https://echarts.bai ...

  2. Linux ---- 查看当前TCP连接数

    一.查看哪些IP连接本机 netstat -an 二.查看TCP连接数 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议 ...

  3. Kubernetes 各版本镜像列表

    以下镜像列表由 kubeadm v1.11.1 导出,若使用预下载镜像离线部署的方式部署,请使用 kubeadm v1.11.1 版本 导出各版本镜像列表: kubeadm config images ...

  4. Kubernetes 集群日志管理【转】

    Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elasticsearch ...

  5. Rabbitmq与spring整合之重要组件介绍——rabbitAdmin组件

    rabbitAdmin组件是一个管理组件,主要是用户通过该组件进行rabbitmq的队列交换器虚拟主机等等进行操作.这里面有些教程说不用声明可以直接绑定,但是本博主运行时,不生命情况下就会报错,可能是 ...

  6. 面试题之xml解析?

    题目是:用java程序将xml中的数据保存到实体对象中,如何实现? xml如下: <?xml version="1.0" encoding="UTF-8" ...

  7. 卸载重装ngin的问题解决方案

    1,卸载nginx不保留配置文件 $ sudo apt-get --purge remove nginx 2,卸载自动安装且不再需要的依赖包 $ sudo apt-get autoremove 3,卸 ...

  8. 海康威视Web3.0控件个人开发经验及问题总结

    最近在给公司平台写视频监控的页面需求,于是接触到了海康威视的视频控件,网上查阅一番资料后,发现有很多大佬们给出了简易的海康视频控件的上手方法,但是发现仍然有很多地方没有总结到,于是在这里对我个人对海康 ...

  9. 用BusyBox制作Linux最小系统

    1.下载busybox-1.30.1 地址:https://busybox.net/downloads/busybox-1.30.1.tar.bz2 2.解压:tar xvf busybox-1.30 ...

  10. 三十二、CI框架之配置域名和设置默认登陆网站

    一.打开routes.php文件,将$route['default_controller'] = 'login'; 修改成我们需要的内容. 二.修改config.php中的base_url数据 三.L ...