public System.Data.DataTable GetDataBy_storedproc2()
{
#region _adapter
var _adapter = new System.Data.SqlClient.SqlDataAdapter();
#endregion
#region _command
var _command = new System.Data.SqlClient.SqlCommand();
var _connection = new System.Data.SqlClient.SqlConnection();
_connection.ConnectionString =
WebApplication4.Properties.Settings.Default.
db_sql20001ConnectionString;
_command.Connection = _connection;
如果是直接执行sql语句,就修改下面这两句
_command.CommandText = "dbo.storedproc1";
_command.CommandType = System.Data.CommandType.StoredProcedure;
#endregion
#region
//猜测 把_command交给_adapter,
//在_adapter里面执行_command.ExecuteReader()方法,
//然后填充DataTable
//(另外打开链接和关闭链接应该也是在_adapter执行)
_adapter.SelectCommand = _command;
var dt = new System.Data.DataTable();
_adapter.Fill(dt);//----注意Fill方法有很多重载,其中一个方法是Fill(DataSet),这个方法应该比Fill(DataTable)好,当你的存储过程需要返回多个结果集的时候, Fill(DataSet)可以装多个结果集,Fill(DataTable)只能装一个结果集
#endregion
//System.Data.SqlClient.SqlDataReader _SqlDataReader =
// _command.ExecuteReader();
//while (_SqlDataReader.Read())//每一行
//{
// for (int i = 0; i < _SqlDataReader.FieldCount; i++)//遍历每一个单元格
// {
// var sColumnName = _SqlDataReader.GetName(i).Trim();
// var sColumnValue= _SqlDataReader[sColumnName].ToString();
// }
//}
return dt;
}