// 我是一名新手请大家帮帮忙
定义适配器 SqlDataAdatapter 时 参数( dboOwner + ".usp_SelectStudentsPartInfo"),的作用是什么?
原来我记得此处是sql查询语句现在怎么成这样了?不理解
请高手帮帮忙!!!
public DataSet GetAllStudents()
{
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(connString);
SqlDataAdapter objAdapter = new SqlDataAdapter(dboOwner + ".usp_SelectStudentsPartInfo", conn);
objAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
objAdapter.Fill(ds, "studentTable");
conn.Close();
conn.Dispose();
return ds;
}
SqlDataAdapter共有4个构造函数,其中SqlDataAdapter(String, SqlConnection)中的String为查询语句或存储过程名,根据lz所提供的代码,可以推测这里的dboOwner + ".usp_SelectStudentsPartInfo"为存储过程名称。lz可以到SQL Server的存储过程中找到名称为dboOwner + ".usp_SelectStudentsPartInfo"的存储过程。
SqlDataAdapter:
用于填充 DataSet 和更新 SQL 数据库的“一组”数据命令和“一个”数据库连接。
SqlDataAdapter不但可以操作多个SQL命令,而且还可以操作一个SQL命令
DataAdapter(意为数据适配器)作为dataset和数据源之间的桥梁;
SqlCommand:
对 SQL 数据库执行的“一个”SQL 语句或存储过程。
SqlCommand只能操作一个SQL命令
个人觉得SqlCommand用来更新少量数据时比较合适,速度快,使用方便。
SqlDataAdapter用于把数据放到DataSet中,集中修改、删除后,通过Update把整个DataSet再提交回给数据库进行处理。
sqlCommand cmd=new sqlCommand(sqlstr);
cmd.ExecuteNoQuery();
SqlCommand通过ExecuteReader()方法将得到的数据给SqlDataReade对象。
SqlDataReade逐行将从数据源获得的数据放进缓冲区进行处理。