与用普通的SELECT得到记录集绑定到SQLDATAADAPTER的.差不多 Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter MyConnection = New SqlConnection("server=(local)\NetSDK;database=northwind;Trusted_Connection=yes")
MyCommand = New SqlDataAdapter("Ten Most Expensive Products", MyConnection) MyCommand.SelectCommand.CommandType = CommandType.StoredProcedure DS = new DataSet()
MyCommand.Fill(DS, "产品") MyDataGrid.DataSource=DS.Tables("产品").DefaultView
MyDataGrid.DataBind()
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter MyConnection = New SqlConnection("server=(local)\NetSDK;database=northwind;Trusted_Connection=yes")
MyCommand = New SqlDataAdapter("Ten Most Expensive Products", MyConnection) MyCommand.SelectCommand.CommandType = CommandType.StoredProcedure DS = new DataSet()
MyCommand.Fill(DS, "产品") MyDataGrid.DataSource=DS.Tables("产品").DefaultView
MyDataGrid.DataBind()
首先建立一个SqlConnection 对象实例,绑定数据源,
SqlConnection myConn = new SqlConnection("你的数据库连接串");
然后定义一个SqlCommand对象实例,绑定上面的myConn对象
SqlCommand myComm = new SqlCommand(myConn);下面就是使用存储过程和普通sql命令的不同了,注意看
定义SqlCommand对象的命令类别为存储过程
myComm.CommandType=CommandType.StoredProcedure;
myComm.CommandText = "存储过程名";然后把存储过程的参数加入(如果你的存储过程有参数的话),.net专门有个命令参数的对象SqlParameter,用这个就行了
SqlParameter par = new SqlParameter("参数名",SqlDbType.参数类型,长度);
par.Value = 参数值;
myComm.Parameters.Add(par);
// 可以加入任意多的参数对象然后就是建立SqlDataAdapter对象了,新建实例要与SqlCommand对象连接起来。
SqlDataAdapter data = new SqlDataAdapter(myComm);下面就简单了,定义一个DataSet对象,把获得的数据存放起来
DataSet ds = new DataSet();
myConn.Open();
data.Fill(ds,"数据表名");
myConn.Close();
然后就可以对ds对象进行操作了。一个简单的例子,SqlServer数据库中有一个名叫Books的表,而且有个名叫sp_GetBookByClass的存储过程,作用是通过输入的书类别ID返回所有符合ID的表。存储过程代码如下:
CREATE PROCEDURE sp_GetBookByClass
( @Class [int](20))
AS
Select From Books Where Books.ClassID = @Class下面是调用的C#代码
using Data;
using Data.SqlDataClient;//建立类代码不写了
SqlConnection myConn = new SqlConnection("数据库连接字符串");
SqlComman myComm = new SqlCommand(myConn);
myComm.CommandType = CommandType.StoredProcedure;
myComm.CommandText = "sp_GetBookByClass";
SqlParameter pars = new SqlParameter("@Class",SqlDbType.Int,20);
//你要定义的Class类别参数值,比如是1
pars.Value = 1;
myComm.Parameters.Add(pars);
SqlDataAdapter data = new SqlDataAdapter(myComm);
DataSet ds = new DataSet();
//打开连接
myConn.Open();
data.Fill(ds,"Book");
myConn.Close();这时候,这个ds的DataSet实例就是数据库里面Books表里面Class字段为1的所有记录,可以使用了。