C#如何和SQL Server2008进行交互操作
来源:互联网 发布:威少11赛季数据 编辑:程序博客网 时间:2024/06/05 08:09
C#如何和SQL Server2008进行交互呢?
首先必须得先登录数据库,而SQL Server2008提供了两种登录方式,一种是以SQLServer身份验证的形式登录(要密码);一种是以Windows身份验证(不要密码)。连接串如下:
Windows身份验证连接串
Data Source=服务器名称或IP\实例名称;Initial Catalog=数据库名称;Integrated Security=True;
SQLServer身份验证连接串
Data Source=服务器名称或IP\实例名称;Initial Catalog=数据库名称;USER ID=用户名;PASSWORD=密码;
(简写形式:server=.;database=数据库;uid=用户名;pwd=密码;)
先过一过基础
Connection:抽象概念
SqlConnection:用于SQLServer数据库
属性:
ConnectionString:连接串 String类型
State:连接状态,ConnectionState 枚举类型
Open
Closed
函数:
Open():打开连接
Close():关闭连接(不需要时立即关闭)
Command:命令对象 抽象概念
SqlCommand:对应于SQLServer的命令对象,用于封装SQL语句,依靠连接传输命令与结果
属性:
CommandText:命令文本,指的就是SQL语句 String
Connection:所依赖的连接对象 SqlConnection
函数:
int ExecuteNonQuery():专用于执行增删改语句,返回一个受影响的行数
object ExecuteScalar():专用于查询只得到一个值的结果,如果不能得到值,将返回null
SqlDataReader ExecuteReader():专用于查询多行多列的结果
DataReader:抽象概念,表示数据阅读器只读、只进
SqlDataReader:专用于SQLServer数据库的阅读器
创建:需要依靠SqlCommand的ExecuteReader()函数创建
属性:
HasRows:bool 判断是否有剩余的未读数据行
函数:
bool Read():将行指针移到下一行,如果行存在,返回true,否则返回false
一开始时,行指针指向第一行的前面
void Close():阅读器对SqlConnection是独占式,只有调用该函数后连接才会被释放,否则无法提供给另一个阅读器使用
如何读取每一行的各个单元格?
利用索引器(数组)
reader[列序号] 0开始的序号
reader["列名"]
HasRows:判断当前行指针指向的目标行是否有数据,不会移动行指针
Read():先将行指针下移一行,再判断该行存不存在
数据库类型和C#类型的映射关系:
数据库类型 C#类型
int/bigint/
smallint/tinyint int
real float
float double
char/varchar
nchar/nvarchar
text/ntext String
datetime DateTime
1、创建SqlConnection对象
SqlConnection conn = new ...();2、打开连接
conn.ConnectionString = "连接串";
或
SqlConnection conn = new ...(连接串);
conn.Open();3、进行增删改查操作
(1):创建命令对象4、关闭连接
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "语句";
cmd.Connection = conn;
或
SqlCommand cmd = new SqlCommand(语句,连接);
(2):根据语句调用函数
i:ExecuteNonQuery() //专用于执行增删改语句,返回一个受影响的行数
ii:ExecuteScalar() //专用于查询只得到一个值的结果,如果不能得到值,将返回null
iii:ExecuteReader() //专用于查询只得到一个值的结果,如果不能得到值,将返回nullSqlDataReader reader = cmd.ExecuteReader();
while(reader.Read()) {
(真正类型)reader[列序号或列名];
}
reader.Close();//注意SqlDataReader是独占式的,用完就关闭,否则会使其他的SqlDataReader对象无法使用
conn.Close();5、处理结果
DataSet和DataAdapter
DataSet:临时数据库,实现断开式的大批量数据操作
DataAdapter:数据适配器,专用于为DataSet提供数据增删改查
DataSet创建:
DataSet ds = new DataSet("临时数据库名称");//数据集对象
SqlDataAdapter:专用于SQLServer数据库的适配器
SqlDataAdapter adapter = new SqlDataAdapter(select SQL语句,连接);
注意:参数个数、类型和Command是一样的,但语句必须是查询语句
函数:
Fill(数据集,表名):从真实数据库中检索数据,填充到临时数据库中
Update(数据集,表名):将修改过后的临时数据库的数据更新回真实数据库
表名:自定义的表名,并非真实数据库的表名
属性:
SelectCommand //查询命令
InsertCommand //增加命令
DeleteCommand //删除命令
UpdateCommand //修改命令
以上四个属性的类型是SqlCommand,分别表示不同的SQL语句
使用步骤:
1、创建连接
SqlConnection conn = new SqlConnection("连接串");
2、创建DataSet
DataSet ds = new DataSet("名称");
3、创建适配器
SqlDataAdapter ada = new SqlDataAdapter(SQL, conn);
4、填充数据
ada.Fill(ds, "表名");
5、绑定数据源 (通常为DataSet中的某个表)
数据控件名.DataSource = ds.Tables["表名"];
- C#如何和SQL Server2008进行交互操作
- c#操作sql server2008 的界面
- Sql server2008基础操作
- C#连接SQL Server2008数据库
- C#连接SQL server2008数据库
- 如何完全删除SQL Server2008。
- .Net和Flash如何进行数据交互
- .Net和Flash如何进行数据交互
- .Net和Flash如何进行数据交互
- 网卡如何和上层进行交互的
- SQL Server2008进行附加数据库错误
- JAVA与 SQL server2008进行连接
- C#数据库编程1--SQL server2008 连接
- C#连接sql server2008数据库 (笔记)
- c#连接到sql server2008数据库
- 关于sql server2008(R2)还原数据库操作
- SQL Server2008 如何编辑多于200行
- 如何更改SQL Server2008身份验证模式
- activemq-cpp-library-3.8.3中的README.txt中文翻译文档
- tomcat的常用命令使用汇总
- SQLServer2008安装教程
- 读取表格内容插件POI
- 外挂技术-逆向解密存放物品CALL缓冲区结构
- C#如何和SQL Server2008进行交互操作
- SharePoint 2013 数据库中手动更新用户信息
- Truck History
- Android 4.4 Kitkat Phone工作流程浅析(十一)__PSensor工作流程浅析
- HDU2607 Let the Balloon Rise II
- 使用object或者embed标签插入flash广告,其实可以只选其一
- CF 510B(Fox And Two Dots-图上找环)
- 教你写Android网络框架之Http请求的分发与执行
- net-snmp开发代理常见问题解决方案