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)
然后把存储过程的参数加入(如果你的存储过程有参数的话),.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();