c#利用ado.net进行数据库开发的基本步骤:
1。创建和数据库连接的connection 对象。2。配置DataAdapter对象并创建和操作数据集DataSet。3。将数据库中的表添加到DataSet中。4。把数据集DataSet帮定到DataGrid上。利用DataAdapter 的Fill方法把数据填充到DataSet,最终的数据库中的数据显示在用户界面的DataGrid中。
c#中从数据库查询记录的方法, 一般使用两种方法:
一种是通过DataReader对象直接访问;
使用ADO.NET的Datareader对象能从数据库中检索数据。检索出来的数据形成一个只读只进的数据流,存储在客户端的网络缓冲区内。Datareader对象的read方法可以前进到一下条记录。在默认情况下,每执行一次read方法只会在内存中存储一条记录系统的开销非常少。
创建datareader之前必须先创建sqlcommand对象,然后调用该对象的executereader方法来构造sqldatareader对象,而不是直接使用构造函数。
下面的示例程序完成的功能是访问sqlserver数据库,并使用datareader从northwind数据中读取记录,并将查询结果通过控制台输出。
using System;
using System.Data;
using System.Data.SqlClient;
namespace ReadDataFromDB{
class Class1{
static void Main(string[] args){
string myconn="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
//需要执行的SQL语句
string mysql="select OrderID,CustomerID from Orders where CustomerID='CHOPS'";
//打开数据库连接。
SqlConnection myconnection=new SqlConnection(myconn); myconnection.Open();
//创建SqlCommand 对象
SqlCommand mycommand=new(mysql,myconnection);
//通过SqlCommand的ExecuteReader()方法构造DataReader 对象。
SqlDataReader myreader=mycommand.ExecuteReader();
while(myreader.read()){
Console.WriteLine(myreader.GetInt32(0)+","+myreader.GetString(1));
}
myreader.Close();
myconnection.Close();
}
}
}
--------------------------------------------------------------------------
另一种则是通过数据集Dataset和Dataadapter对象访问.
从数据库中读取纪录的另一种方法是使用Dataset对象和Dataadapter对象.Dataset是ADO.NET的主要组件之一,
它用于缓存从数据源检索到的数据信息。Dataadapter作为Dataset和数据源之间的桥接器,用于检索和保存数据。
Dataadapter从数据库中获取数据后使用Fill方法把数据填充到Dataset中。下面以Sqldataadapter为例说明如何使用Dataset对象和Dataadapter对象从数据库中读取记录。执行查询的关键步骤如下:
一、创建与数据库建立连接的Sqlconnection,传递连接字符串。
二、构造包含查询语句的Sqldataadapter对象;
三、若要使用查询结果填充Dataset对象,则调用命令Fill方法。
示例:
using System;
using System.Data;
using System.SqlClient;
namespace ReadDataFromDB2{
class Class2{
static void Main(string[] args){
string myconn="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
//Initialize sql statement.
string mysql="select CompanyName,ContactName from Customers"; //Initialize connection string. SqlConnection myconnection=new SqlConnection(myconn);
//Execute sql.
SqlDataAdapter mydataadapter=new SqlCommand(mysql,myconnection);
myconnection.Open();
DataSet ds=new DataSet();
mydataadapter.Fill(ds,"Customers");
for(int i=0;i<ds.Tables["Customers"].Rows.Count;i++){
Console.WriteLine(ds.Tables["Customers"].Row[i][0].ToString()+","+ds.Table["customers"].Row[i][1].ToString());
----------------------------------------------------------------------------------
取出DataGrid中某一行中的值DataGrid.Item(i).cells[j].text;
DataGridView1.DataSource = dataset.Tables["company"].Defaultvies;与下面两句等效DataGridView1.DataSource = dataset;DataGridView1.Datamumber = "company";