DataSet作用:DataSet,DataAdapter读取数据。问:什么是DataAdapter?答:DataAdapter对象在DataSet与数据之间起桥梁作用stringstrConn="uid=账号;pwd=密码;database=数据库;server=服务器";//SQLServer链接字符串SqlConnectionConnSql=newSqlConnection(strConn);//Sql链接类的实例化ConnSqlOpen();//打开数据库stringstrSQL="SELECTFROM表名1";//要执行的SQL语句SqlDataAdapterda=newSqlDataAdapter(strSQL,ConnSql);//创建DataAdapter数据适配器实例DataSetds=newDataSet();//创建DataSet实例daFill(ds,"自定义虚拟表名");//使用DataAdapter的Fill方法(填充),调用SELECT命令ConnSqlClose();//关闭数据库
loadgridview是将 Categories表中的所有显示绑定到gridview控件并显示出来, sqldataadapter是与dataset与数据显示的桥梁,通过它可能将数据绑定到dataset所定义的mydataset中,gvcategory是gridview控件的名。databinder()是该控件的绑定数据方法。
只要数据库链接都可能要使用sqldataAdapter
CategroyID = ConvertToInt32(GVCategoryRows[eRowIndex]Cells[0]Text)
其它ConverttoInt32是类型转换,将得到的文字转换为数字即数据库的ID号
GVCategoryRows[eRowIndex]Cells[0]Text是绑定表中的0列的数据文字,即数据库ID, erowindex,得到行索引,cell[0]得到第一列
第一种方法:直接通过数据库的用户名、密码等连接到数据库进行数据库连接。
如:private void sqlconn()
{
SqlConncetion conn = new SqlConnection("SERVER=;DATABASE=pubs;PWD=;UID=sa;");
SqlConncetion cmd = new SqlCommand("SELECTFROM [table]",cmd);
DataSet ds = new DataSet();
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adpFill(ds);
}
其中SqlConnection 是数据库连接类,SqlDataAdapter是数据适配器,SqlCommand是数据 *** 作命令,即执行SQL语言。
说明,使用SqlConnection进行数据库的连接,然后使用SqlCommand定义SQL查询语句,再定义一个DataSet存储查询的结果,而SqlDataAdapter是数据库和DataSet的转换桥梁。
第二种方法:通过ConfigurationManagerConnectionString获取数据库的配置信息。进行数据库的连接。
如:public static int ExcuteNonQuery(string sql,params SqlParameter[] parameters)
{
string connStr = configurationManagerConnectionStrings["ConnStr"]ConncetionString;
using(SqlConncetion conn=new SqlConnection(connStr))
{
connopen();
using(SqlCommand cmd = connCreateCommand())
{
cmdCommandText = sql;
foreach(SqlParameter parameter in parameters)
{
cmdParametersAdd(parameter);
}
return cmdExecuteNonQuery();
}
}
}
说明:
(1) 通过string connStr=ConfigurationManagerConnectionString[“ConnStr”]ConnectionString;获得数据库连接的一些配置信息,即“数据源”、“数据库名”、“用户名”、“密码”,将这些信息都保存在connStr中。
(2) SqlConnection conn = new SqlConnection(connStr);创建一个数据库连接对象conn,连接数据库用connOpen();
(3) SqlCommand cmd = new SqlCommand(“Select Form [表]”,conn);
或者string sql = “Select From [表]”;
SqlCommand cmd = connCreateCommand();
cmdCommandText = sql;这样就把访问数据库的SQL语句存到了cmd中
(4) 建立SqlDataAdapter对象和DataSet对象
DataSet myDataSet = new DataSet();创建DataSet对象,
SqlDataAdapter myDataAdapter = new SqlDataAdapter(cmd);创建数据适配器对象。
(5) 填充DataSet:myDataAdapterFill(myDataSet);其实SqlDataAdapter数据适配器起的就是一个连接数据库和数据集(DataSet)的桥梁作用,把对数据库 *** 作的SQL语句得到的结果传到SqlDataAdapter对象中,在通过SqlDataAdapterFill(DataSet)方法,将结果填充到DataSet中。
第三种方法:用工厂方法
DbProviderFactory m_dbProviderFactory = DbProviderFactoriesGetFacory(ConfigurationManagerConnectionString[“ConStr”]ProviderName);//获取工厂
DbConnection conn = m_dbProviderFactoryCreateConncetion();//创建连接
DbCommand cmd = m_dbProviderFactoryCreateCommand();//创建命令
cmdConnection = conn;
cmdCommandText = strSql;
cmdCommandType = CommandTypeText;
DbDataAdapter dapter = m_dbProviderFactoryCreateDataAdapter();//创建适配器
dapterSelectCommand = cmd;
dapterFill(DataSet ds = new DataSet());//填充
return ds;
说明:
上面的语句中用ConfigurationManagerConnectionString[“ConStr”]ProviderName获取了当前数据库的名称,因此可以适用于任何数据库,如果这样写,就是不同的数据库使用不同的语言:
SqlServer:DbProviderFactory factory = DbProviderFactoriesGetFactory("SystemDataSqlClient");
Oracle:DbProviderFactory factory = DbProviderFactoriesGetFactory("SystemDataOracleClient");
ODBC:DbProviderFactory factory = DbProviderFactoriesGetFactory("SystemDataOdbc");
Access:DbProviderFactory factory = DbProviderFactoriesGetFactory("SystemDataOleDb");
ADO NET 对象模型中有五个主要的组件 分别是Connection 对象 Command 对象 DataSetCommand DataSet 以及DataReader 这些组件中 负责建立联机和数据 *** 作的部分
我们称为数据 *** 作组件(Managed Providers) 分别由Connection 对象 Command 对象 DataSetCommand 对象以及DataReader 对象所组成 数据 *** 作组件最主要是当作DataSet 对象以及数据源之间的桥梁 负责将数据源中的数据取出后植入DataSet 对象中 以及将数据存回数据源的工作
Connection对象
Connection 对象主要是开启程序和数据库之间的连结 没有利用连结对象将数据库打开 是无法从数据库中取得数据的 这个物件在ADO NET 的最底层 我们可以自己产生这个对象 或是由其它的对象自动产生
Command对象
Command 对象主要可以用来对数据库发出一些指令 例如可以对数据库下达查询 新增 修改 删除数据等指令 以及呼叫存在数据库中的预存程序等 这个对象是架构在Connection 对象上 也就是Command 对象是透过连结到数据源的Connection 对象来下命令的 所以Connection连结到哪个数据库 Command 对象的命令就下到哪里
DataSetCommand对象
DataSetCommand 对象主要是在数据源以及DataSet 之间执行数据传输的工作 它可以透过
Command 对象下达命令后 并将取得的数据放入DataSet 对象中 这个对象是架构在Command对象上 并提供了许多配合DataSet 使用的功能 在Beta 版中DataSetCommand 物件会更名为DataAdapter
DataSet对象
DataSet 这个对象可以视为一个暂存区(Cache) 可以把从数据库中所查询到的数据保留起来 甚至可以将整个数据库显示出来 DataSet 的能力不只是可以储存多个Table 还可以透过DataSetCommand 对象取得一些例如主键等的数据表结构 并可以记录数据表间的关联
DataSet 对象可以说是ADO NET 中重量级的对象 这个对象架构在DataSetCommand 对象上 本身 不具备和数据源沟通的能力 也就是说我们是将DataSetCommand 对象当做DataSet 对象以及数据源间传输数据的桥梁
DataReader对象
当我们只需要循序的读取数据而不需要其它 *** 作时 可以使用DataReader 对象 DataReader
对象只是一次一笔向下循序地读取数据源中的数据 不作其它的 *** 作 因为DataReader 在读取数据的时候限制了每次只读取一笔 而且只能只读 所以使用起来不但节省资源而且效率很好 此外 因为不用把数据全部传回 故可以降低网络的负载
ADO NET 的数据 *** 作组件(Managed Providers)
ADO NET 的数据存取和之前的版本不一样 前版的ADO 存取数据的方式只有一种 那就是透过OLE DB 来存取数据 而现在的ADO NET 则分为两种 一种是直接存取MS SQL Server 中的数据 另一种是透过OLE DB 来存取其它数据库中的数据 前面我们提过 要存取数据源中的数据 要透过数据 *** 控组件 这个数据 *** 作组件就是Connection 对象 Command 对象 DataSetCommand 对象以及DataReader 对象 由于我们可以选择透过OLE DB 和资料源联机 或是和MS SQL Server 直接联机 所以 ASP NET 提供了两组数据 *** 作组件 分别为ADO 数据 *** 作组件以及SQL 数据 *** 作组件
每组数据 *** 作组件内都有Connection 对象 Command 对象 DataSetCommand 对象及
lishixinzhi/Article/program/net/201311/15600
以上就是关于以下哪些方法属于dataadapter对象的方法全部的内容,包括:以下哪些方法属于dataadapter对象的方法、求助:asp.net---代码解释1、c#连接数据库的几种方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)