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语句一次清空所有数据.找到了三种方法进 ...
随机推荐
- 南邮CG-CTF Web记录
MYSQL(利用精度,传参为小数) robots.txt中的代码: <?php if($_GET[id]) { mysql_connect(SAE_MYSQL_HOST_M . ':' . SA ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:对象的多态性
class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println("A --> public void fun ...
- python进阶强化学习
最近学习了慕课的python进阶强化训练,将学习的内容记录到这里,同时也增加了很多相关知识. 主要分为以下九个模块: 基本使用 迭代器和生成器 字符串 文件IO操作 自定义类和类的继承 函数装饰器和类 ...
- GCPC 2018
C.Coolest Ski Route 题意:n个点,m条边组成的有向图,求任意两点之间的最长路径 dfs记忆化搜索 #include<iostream> #include<stri ...
- C++字符集和词法记号以及符号常量
C++字符集 大小写的英文字母:A~Z,a~z 数字符号:0~9 特殊字符:!#%*()等 关键字:C++预定义的单词 标识符:程序员声明的单词,它命名程序正文中的一些实体 文字:在程序中直接使用符号 ...
- http协议请求报文与响应报文分析
什么是HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到 不断地完善和扩展.目前在WWW中使用 ...
- android侧滑效果(引用官方网站提供的API文件)
原文地址:http://www.cnblogs.com/android100/p/android-SlidingMenu.html 在新浪微博和唱吧里面都有看到android的侧滑效果,于是想要学习一 ...
- STM32 MacOS开发
CLion + STM32CubeMX + STLINK 安装CLion jetbrain官网 汉化补丁 安装homebrew ...略 安装STlink命令工具 $ brew install stl ...
- NIO 与 零拷贝
零拷贝介绍 零拷贝是网络编程的关键, 很多性能优化都需要零拷贝. 在 Java程序中, 常用的零拷贝方式有m(memory)map[内存映射] 和 sendFile.它们在OS中又是怎样的设计? NI ...
- Angular2的双向数据绑定
什么是双向绑定 如图: 双向绑定.jpg 双向绑定机制维护了页面(View)与数据(Data)的一致性.如今,MVVM已经是前段流行框架必不可少的一部分. Angular2中的双向绑定 双向绑定, ...