读书人

ASP.NET中SqlDataAdapter的应用,该怎么

发布时间: 2012-03-29 12:53:12 作者: rapoo

ASP.NET中SqlDataAdapter的应用
我在前台页面中创建了一个GridView,想通过后台代码中返回的数据让GridView显示,且据有分面的功能.

后台代码函数为:
public static DataSet GetProducts(int ID)
{
SqlConnection myConnection = new SqlConnection(Constr);

SqlCommand myCommand = new SqlCommand("SelectCity", myConnection);

// 设置sqlCommand的模式为执行存储过程
myCommand.CommandType = CommandType.StoredProcedure;

SqlParameter parameterID = new SqlParameter("@ID", SqlDbType.Int, 4);
parameterID.Value = ID;
myCommand.Parameters.Add(parameterID);

myConnection.Open();

SqlDataAdapter abc = new SqlDataAdapter(myCommand.ExecuteScalar()); DataSet dtr = new DataSet();

abc.Fill(dtr);
return dtr;
}
一般的情况SqlDataAdapter的使用方法是:SqlDataAdapter abc = new SqlDataAdapter(sql,connect)
我想通过存储过程SelectCity返回的值作为数据来填充DataSet对象dtr,不知道如何让SqlDataAdapter来接收存储过程返回
结果.上面红色的部分应该怎么写啊.

存储过程SelectCity代码如下:
ALTER PROCEDURE dbo.SelectCity
(
@ID int
)

AS
SELECT
ID,
CityName
FROM
City
WHERE
ID=@ID


[解决办法]
SqlDataAdapter abc = new SqlDataAdapter("SelectCity", myConnection);
这样就行
前面的Command不用
[解决办法]

C# code
public static DataSet GetProducts(int ID)     {         SqlConnection myConnection = new SqlConnection(Constr);              SqlCommand myCommand = new SqlCommand("SelectCity", myConnection);         // 设置sqlCommand的模式为执行存储过程         myCommand.CommandType = CommandType.StoredProcedure;         SqlParameter parameterID = new SqlParameter("@ID", SqlDbType.Int, 4);         parameterID.Value = ID;         myCommand.Parameters.Add(parameterID);         SqlDataAdapter abc = new SqlDataAdapter(myCommand);        DataSet dtr = new DataSet();                 abc.Fill(dtr);         return dtr;     }
[解决办法]
建议用存储过程分页。然后用ObjectDataSource作为GridView的数据源。ObjectDataSource你看看它的属性栏,它本身就支持分页(EnablePaging属性),还有startRowIndexParameterName, maximumRowsParameterName,SelectCountMethod等等属性。这些都与自定义分页有关。

参考Scott Mitchel的Data Access Tutorials.

http://www.asp.net/learn/data-access 其中#24~#27部分。
[解决办法]
SqlDataAdapter abc=new SqlDataAdapter('SelectCity',myConnection)像这样写应该就可以了。

读书人网 >asp.net

热点推荐