C# 存储过程 如何返回 tatatable

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:44:42
SqlConnection sqlcon = new SqlConnection("连接串");
SqlDataAdapter ada = new SqlDataAdapter();
SqlCommand sqlcom = new SqlCommand("SearchResult", sqlcon);
SqlParameter sp = new SqlParameter("@Title", "传入值");
sqlcom.CommandType = CommandType.StoredProcedure;
sqlcom.Parameters.Add(sp);
ada.SelectCommand = sqlcom;
DataSet ds = new DataSet();
ada.Fill(ds);
====================
以上语句 返回dataset,我想让它返回 datatable, 请问如何写?
ds.tables[""]或者ds.tables[i] 不就是 Datatable
=====================
实际上,我是知道这点的,但我想法是:不使用 SqlDataAdapter。
==================
看来还是用 SqlDataAdapter ,谢谢各位

ds.tables[""]或者ds.tables[i] 不就是 Datatable

直接传DataTable
DataTable dt = new DataTable()
ada.Fill(dt);

Database db = DALFactory.DatabaseCustomFoctory.CreateDatabase();
if (db != null)
{
string sqlCommand = "Web_DataV10_Area_SelectLayer";
DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);
db.AddInParameter(dbCommand, "OperatorID", DbType.Int32, EmpID);
db.AddInParameter(dbCommand, "AreaID", DbType.String, "");
ds = db.ExecuteDataSet(dbCommand);
现在都用工厂了,这种方法你可以体验一下,直接调用sql数据库中的存贮过程,返回dataset,得到datatable,不用SqlDataAdapter,可以吗