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语句一次清空所有数据.找到了三种方法进 ...
随机推荐
- 1-8SpringBoot之切面AOP
SpringBoot提供了强大AOP支持,我们前面讲解过AOP面向切面,所以这里具体AOP原理就补具体介绍: AOP切面主要是切方法,我们一般搞一些日志分析和事务操作,要用到切面,类似拦截器: @As ...
- 基于PIL模块创建验证码图片
def get_valid_img(request): # 方式2:基于PIL模块创建验证码图片 from PIL import Image, ImageDraw, ImageFont from io ...
- redis配置文件中常用配置详解
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/suprezheng/article/de ...
- ADS 2015破解方法--笔记
关键步骤是:设定系统环境变量HPEESOF_LIC_DIR,然后重启,再打开License Manager进行License的添加
- HTML设置表格
1. 设置表格内容对齐方式 在HTML中通常通过align设置对齐方式,文字是: text-align ,表格是:align 如果将align属性设置给<table>标签,只能改变< ...
- Why Helm?【转】
每个成功的软件平台都有一个优秀的打包系统,比如 Debian.Ubuntu 的 apt,Redhat.Centos 的 yum.而 Helm 则是 Kubernetes 上的包管理器. 本章我们将讨论 ...
- shell教程——bash入门
创建shell文件 vim test.sh 写内容 #!/bin/bash echo "Hello World !" 使脚本具有执行权限 chmod +x ./test.sh 执行 ...
- NOIp2018普及组初赛试卷
第二十四届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)
- phpstudy后门漏洞复现php5.2
前段时间phpstudy被人发现某些版本存在后门,许多人就这样被当作肉鸡长达两年之久 后门隐藏在程序自带的php的php_xmlrpc.dll模块 影响的版本:phpstudy2016和2018 在H ...
- R 《回归分析与线性统计模型》page120,4.3
#P120习题4.3 rm(list = ls()) A = read.xlsx("xiti_4.xlsx",sheet = 3) names(A) = c("ord&q ...