操作sqlserver数据库常用的三个方法
1、 ADO.NET
-> 连接字符串,常用的两种方式:
server=计算机名或ip\实例名;database=数据库名;uid=sa;pwd=密码;
server=计算机名或ip\实例名;database=数据库名;integrated security=true;
-> 常用的类库
SqlConnection 连接数据库用
SqlCommand 执行SQL语句
SqlDataReader 读取的对象(此种读取数据的方式有点像StreamReader)
SqlAdapter 将数据库中的数据放入DataSet
DataSet 内存级别的离线数据库(有点像FileStream.Read)
对比模型


(图片来自网络,若是原文作者看到,请提供链接地址,时间很久远了.......)
-> 连接数据库的步骤
-> 写连接字符串
-> 创建连接对象,使用连接字符串
-> Open,打开数据库
-> 关闭释放数据库,可以使用using
2、执行SQL语句
-> 使用SqlCommand对象
-> 步骤:
-> 首先创建SQL语句字符串(sql)与连接通道SqlConnection(conn)
string sql = "insert into tbl(id, name) values(1, '123');"
SqlConnection conn = new SqlConnection(@"server=计算机名或ip\实例名;database=数据库名;uid=sa;pwd=密码;");
-> 创建SqlCommand对象,将sql与conn交给它(通过构造函数或属性)
SqlCommand cmd = new SqlCommand(sql, conn);
-> 在Open的情况下,调用方法(SqlCommand对象的方法)
conn.Open();
cmd.方法();
-> 常用的三个方法
ExecuteNonQuery() 专门执行非查询语句(增、删、改等),返回受影响行数
ExecuteScalar() 执行查询,返回的是结果中第一行第一列的数据(object)
ExecuteReader() 专门执行查询,可以获得多行多列的数据
3、 先创建一个表,插入数据
注意问题
-> sql语句如果在SSMS中执行没有问题在ADO.Net一般不会出现问题
-> 关于主键和自动增长
-> 连接字符串数据库的名字
-> 关于约束
异常处理
try
{
// 可能出现异常的代码
} catch(Exception ex) {
// 出现异常之后的代码
} finally
{
// 用来关闭连接
}
4、 ExecuteScalar()
-> 读取数据,获取第一行与第一列
-> 执行中除了SQL语句和执行方法不同流程都一样
5、-> 将SQL语句中的参数拼接修改一下
-> 凡是要用到参数的地方,都将这个变数,写成一个变量
-> 使用的时候为这个变量赋值即可
-> 实现步骤
-> 写SQL语句的时候,用"@别名"代替挖坑的地方
select COUNT(*) from tblLogin where logUid='{0}' and logPwd='{1}';容易sql注入漏洞攻击
select COUNT(*) from tblLogin where logUid=@logUid and logPwd=@logPwd;
-> 在ADO.Net中执行SQL语句前(cmd.方法()调用前)
-> 创建一个对象,SqlParameter
SqlParameter p = new SqlParameter(参数的别名, 参数的值);
SqlParameter p1 = new SqlParameter("@logUid", txtUid.Text.Trim());
SqlParameter p2 = new SqlParameter("@logPwd", txtPwd.Text);
-> 将参数加到cmd对象中
cmd.Parameters.Add(参数对象);
cmd.Parameters.Add(p1);
操作sqlserver数据库常用的三个方法的更多相关文章
- Oracle数据库备份与恢复的三种方法
转自blueskys567原文Oracle数据库备份与恢复的三种方法, 2006-10. 有删改 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份. 导出 ...
- 【EF】EntityFramework 更新数据库字段的三种方法
实体类 public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public Tes ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
- Java连接并操作SQLServer数据库
本人只需在项目中引入sqljdbc4.jar 包即可 ----------------------------------------- 在JAVA中如何连接SQL Server数据库 - hangh ...
- sqlServer数据库常用连接字符串
sqlServer 数据库常用连接字符串 用户名和密码验证的方式去连接到数据库服务器 <add name="conStr" connectionString=" ...
- Entity Framework 数据库初始化的三种方法
在数据库初始化产生时进行控制,有三个方法可以控制数据库初始化时的行为.分别为CreateDatabaseIfNotExists.DropCreateDatabaseIfModelChanges.Dro ...
- MySQL数据库改名的三种方法
前不久去面试,被问到Innodb引擎的表如何改数据库名,当时我也只回答了MyISAM改如何操作,被一些细节问题打败,真是操蛋. 如果表示MyISAM那么可以直接去到数据库目录mv就可以. Innodb ...
- EntityFramework 更新数据库字段的三种方法
例: 实体类: public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public ...
- C#通过SqlConnection连接查询更新等操作Sqlserver数据库
Sqlserver数据库连接方式有多种,这里只介绍最常用的通过SqlConnection和Sqlserver数据库用户名和密码验证来进行操作数据库. 数据库连接字符串: string connStri ...
随机推荐
- Python解析器源码加密系列之(二):一次使用标准c的FILE*访问内存块的尝试
摘要:由于近期打算修改Python解释器以实现pyc文件的加密/解密,出于保密的要求,解密之后的数据只能放在内存中,不能写入到文件中.但是后续的解析pyc文件的代码又只能接受FILE*作为入参,所以就 ...
- [CareerCup] 8.1 Implement Blackjack 实现21点纸牌
8.1 Design the data structures for a generic deck of cards. Explain how you would subclass the data ...
- 如何下载Spring
一. 各个spring版本的下载地址: http://repo.spring.io/release/org/springframework/spring 二. Spring官网: http://spr ...
- PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)
主讲人 planktonli planktonli(1027753147) 19:52:28 现在我们就开始讲第四章,第四章的内容是关于 线性分类模型,主要内容有四点:1) Fisher准则的分类,以 ...
- 【MPI学习7】MPI并行程序设计模式:MPI的进程组和通信域
基于都志辉老师MPI编程书中的第15章内容. 通信域是MPI的重要概念:MPI的通信在通信域的控制和维护下进行 → 所有MPI通信任务都直接或间接用到通信域这一参数 → 对通信域的重组和划分可以方便实 ...
- 从零开始写redis客户端(deerlet-redis-client)之路——第一个纠结很久的问题,restore引发的血案
引言 正如之前的一篇博文,LZ最近正在从零开始写一个redis的客户端,主要目的是为了更加深入的了解redis,当然了,LZ也希望deerlet客户端有一天能有一席之地.在写的过程当中,LZ遇到了一个 ...
- 我的第二个app上线:术购管家
忙了两周写完的app,终于发布了,可是等上线竟然等了两周多,今天终于上线了,一路顺畅,没有被打回过...
- php字符串比较函数
比较两个字符串是否相等,最常见的方法就是使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical”类型也要求 一样:后者要求“equal”,值相同就可以了,参考[1].或 ...
- 每天一个linux命令(12):head 命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...
- 团队项目--关于QQ项目的运行和总结
目前为止该QQ项目实现如下功能:添加好友到好友列表,可以把好友在不同分类中移动,同时支持离线查找添加好友,离线更换头像,离线发送消息,保存所有好友聊天记录,发送窗口抖动,查看对方信息,更改/添加信息等 ...