对数据库进行增删改查,首先想到的应该就是连接字符串了。

我们的连接字符串是由"Server=地址(本机=local);Database=数据库名称;User Id=登陆用户名;Password=密码" ;当然连接字符串中的属性不可能就这么点,我们这篇随笔不在这里进行系统学习,小人准备专门写一篇关于连接字符串的随笔。

然后我们开始看下面代码

引用命名空间 using system.data.SqlClient

  /// <summary>
/// 查
/// </summary>
/// <returns></returns>
public void ExecuteReader(string connectionString)
{
//sql语句
string sqlString = "select * from Employee where Name=@Name";
//在SqlConnection的using块内打开 ,这可确保在代码退出时关闭和释放资源。
using (SqlConnection sqlConnection = new SqlConnection(connectionString))
{
SqlCommand sqlCommand = new SqlCommand(sqlString, sqlConnection);
//CommandType=StoredProcedure,IDbCommand.CommandText 属性应设置为要访问的存储过程的名称。
//CommandType=TableDirect,IDbCommand.CommandText 属性应设置为要访问的表的名称。只有用于 OLE DB 的 .NET Framework 数据提供程序才支持 TableDirect,将 IDbCommand.CommandType 设置为 TableDirect时不支持多个表访问。
//CommandType默认为Text,SQL 文本命令。
sqlCommand.CommandType = CommandType.Text;
sqlCommand.CommandText = sqlString;
sqlCommand.Parameters.AddWithValue("@Name", "zsk");
try
{
sqlConnection.Open();
SqlDataReader reader = sqlCommand.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("\t{0}\t{1}\t{2}",
reader[0], reader[1], reader[2]);
}
reader.Close();
}
catch (Exception ex)
{ Console.WriteLine(ex.Message);
}
}
}

这里的SqlDataReader类提供一种从 SQL Server 数据库中读取只进的行流的方式。若要创建,必须调用SqlCommand对象的 ExecuteReader 方法,而不是直接使用构造函数。

 public void ExecuteNonQuery(string connectionString)
{
string SqlString = "insert into Employee(Name, Age) values(@Name, @Age)";
//建立连接
using (SqlConnection sqlConnection = new SqlConnection(connectionString))
{
SqlCommand sqlCommand = new SqlCommand(SqlString, sqlConnection);
sqlCommand.Parameters.AddWithValue("@Name","zm");
sqlCommand.Parameters.AddWithValue("@Age", 21);
try
{
sqlConnection.Open();
///返回受影响行数
int row = sqlCommand.ExecuteNonQuery();
if (row>0)
{
Console.WriteLine("添加成功");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message); }
}
}

上面代码中使用的是SqlCommand的ExecuteNonQuery方法,这个方法提供的是返回受影响行数,可以用于大部分简单的增删改。

ADO.NET还为提供了一个SqlDataAdapter类,在 DataSet 和 SQL Server 之间充当检索和保存数据的桥梁。 SqlDataAdapter 通过映射 Fill来提供此桥。

ADO.NET对SqlServer进行简单的增删改查的更多相关文章

  1. java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码

    1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...

  2. 初试KONCKOUT+WEBAPI简单实现增删改查

    初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...

  3. BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块

    NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...

  4. salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)

    此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...

  5. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  6. 通过JDBC进行简单的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  7. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  8. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  9. SpringMVC之简单的增删改查示例(SSM整合)

    本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...

随机推荐

  1. jarvisoj flag在管理员手上

    jarvisoj flag在管理员手上 涉及知识点: (1)代码审计和cookie注入 (2)哈希长度拓展攻击 解析: 进入题目的界面.看到 那么就是想方设法的变成admin了.挂上御剑开始审计.发现 ...

  2. 转载 HTTP协议

    转载自:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, ...

  3. pandas 获取列名

    df.columns.values df.columns.values.tolist()

  4. pandas 删除列

    ddf = pd.DataFrame({"id":[1,2,3], "name":[4,5,6],"age":[7,8,9]})ddf = ...

  5. DFS,BFS 练习(深搜,广搜,图,leetcode)

    https://leetcode-cn.com/problems/route-between-nodes-lcci/ 节点间通路.给定有向图,设计一个算法,找出两个节点之间是否存在一条路径. 示例1: ...

  6. 「TJOI / HEOI2016」求和 的一个优秀线性做法

    我们把\(S(i, j)j!\)看成是把\(i\)个球每次选择一些球(不能为空)扔掉,选\(j\)次后把所有球都扔掉的情况数(顺序有关).因此\(S(i, j)j! = i![x^i](e^x - 1 ...

  7. 【译】为什么Rust中的BTreeMap没有with_capacity()方法?

    原文标题:Why doesn't Rust's BTreeMap have a with_capacity() method? 原文链接:https://www.nicolas-hahn.com/20 ...

  8. hive的调优策略

    hive有时执行速度很慢,若hive on spark 的话,在sparkUI上可以清楚看到是否数据倾斜 优化方法: 1.增加reduce数目 hive.exec.reducers.bytes.per ...

  9. python魔术方法总结

    获取属性 __ getattr __(self, name) 定义当用户试图获取一个不存在的属性时的行为 __ getattribute __(self, name) 定义当该类的属性被访问时的行为 ...

  10. STL——容器(List)List 的概念

    1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单 ...