关于c#中连接sql server问题:command,datareader,dataadapter,

如题,command,command.executereader,executenonquery,datareader,dataadapter都什么作用,最好说的通俗一点... 如题,command,command.executereader ,executenonquery
,datareader,dataadapter都什么作用,最好说的通俗一点,能打个比方,初手,菜鸟,太理论化的解释听不懂
展开
 我来答
gushoushi
2012-04-20 · TA获得超过219个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:244万
展开全部
这些都是ADO.NET里的基本对象。
command:用于执行各种命令,你可以给这个command赋上数据库连接和SQL
command.executereader ,返回一个可读的向前的数据集,读取大量数据时数据较快,取数据过程中缺点是数据库连接必须一直连着。
executenonquery:执行一个无返回的指令,比如insert、update、delete。这些操作其实也有返回,返回的是影响的行数,只是这个返回对我们来说没多大用处,所以一般认为这些操作是无返回的,和select相对。
datareader:command.executereader返回的对象
dataadapter:数据适配器,用于填充dataset、dataTable。即把数据库的数据查出来,存放到内存里。
给你个简单例子看看:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace Product.DA
{
public class DBAccess
{
/// <summary>
/// 数据库联接字符串
/// </summary>
private static readonly string ConnectString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

/// <summary>
///
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable ExecuteDataTable(string sql)
{
DataTable dt = new DataTable();
dt.TableName;
SqlDataAdapter sda = new SqlDataAdapter(sql,ConnectString);
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
return dt;
}
else
{
return null;
}
}
/// <summary>
///
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql)
{
SqlCommand cmd = null;
SqlConnection con = null;
try
{
cmd = new SqlCommand();
con = new SqlConnection(ConnectString);
cmd.Connection = con;
con.Open();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "sql";
return cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw (new Exception("access database exception"));
}
finally
{
if (con != null)
{
con.Close();
}
}
}
/// <summary>
///
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql)
{
SqlCommand cmd = null;
SqlConnection con = null;
try
{
cmd = new SqlCommand();
con = new SqlConnection(ConnectString);
cmd.Connection = con;
con.Open();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "sql";
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw (new Exception("access database exception"));
}
finally
{
if (con != null)
{
con.Close();
}
}
}
}
}
MrCoffee0908
2012-04-20 · TA获得超过584个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:197万
展开全部
command 就是设置合适于数据源的操作命令,执行检索,编辑,或者是参数等数据操作,这些命令可以是SQL语句或者是数据库存储过程,比如:SqlCommand cmd=new SqlCommand (sql,conn)//sql表示语句 conn表示连接数据库;command.executereader是从数据源项应用程序执行读取,比如:前面的Command执行后Datareader dr= cmd.Excutereader() ,Datareader 就是执行高速只读,只向前的数据访问;Executenonquery返回执行后的影响行数 一般用int i =cmd.Executenonquery() ;DataAdapter就是数据适配器 执行Command 后从数据源中检索出的数据送往数据集,或者是将数据集编辑后送回数据源, 一般用Fill()方法调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
涅炎00
2012-04-20
知道答主
回答量:38
采纳率:0%
帮助的人:14.1万
展开全部
datareader 每次只能读取一条数据
dataadapter 不限制读取的条数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式