跟据查询语句集合升成一个DataTable对象
2009-03-05 10:28
162 查看
/// <summary>
/// 跟据查询语句集合升成一个DataTable对象
/// </summary>
/// <param name="selectSqls">查询语句集合</param>
/// <returns>查询结果</returns>
public static DataTable GetDataForSqls(System.Collections.Generic.List<string> selectSqls) {
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
try
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
DataTable dt = new DataTable("wwmTable");
foreach (string selectSql in selectSqls)
{
cmd.CommandText = selectSql;
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
for (int i = 0; i < sdr.FieldCount; i++){
string columnName = sdr.GetName(i);
if (dt.Columns.Contains(columnName)) continue;
dt.Columns.Add(columnName, sdr.GetFieldType(i));
}
DataRow dr = dt.NewRow();
for (int i = 0; i < sdr.FieldCount; i++)
{
string columnName = sdr.GetName(i);
dr[columnName] = sdr[i];
}
dt.Rows.Add(dr);
}
sdr.Dispose();
}
return dt;
}
catch (Exception ex)
{
throw ex;
}
finally {
if (conn.State == ConnectionState.Open) conn.Close();
}
}
}
/// 跟据查询语句集合升成一个DataTable对象
/// </summary>
/// <param name="selectSqls">查询语句集合</param>
/// <returns>查询结果</returns>
public static DataTable GetDataForSqls(System.Collections.Generic.List<string> selectSqls) {
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
try
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
DataTable dt = new DataTable("wwmTable");
foreach (string selectSql in selectSqls)
{
cmd.CommandText = selectSql;
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
for (int i = 0; i < sdr.FieldCount; i++){
string columnName = sdr.GetName(i);
if (dt.Columns.Contains(columnName)) continue;
dt.Columns.Add(columnName, sdr.GetFieldType(i));
}
DataRow dr = dt.NewRow();
for (int i = 0; i < sdr.FieldCount; i++)
{
string columnName = sdr.GetName(i);
dr[columnName] = sdr[i];
}
dt.Rows.Add(dr);
}
sdr.Dispose();
}
return dt;
}
catch (Exception ex)
{
throw ex;
}
finally {
if (conn.State == ConnectionState.Open) conn.Close();
}
}
}
相关文章推荐
- Mybatis查询语句返回对象和泛型集合
- 在Eclipse中测试MySQL-JDBC(5)查询1-4之间的所有员工,并且封装为一个个的employee对象,并且存储到一个集合中
- mybatise查询返回的一个集合封装多个对象的实现
- Oracle 如何查询一个对象的完整定义语句 .
- 在数据库查询语句中 要返回 一个集合的数据 的处理方式。
- 一个对象下面某一属性为集合,如何将这个集合列表展示到页面
- JDBC和DBUtils区别(查询时jdbc只能返回ResultSet需要po转vo,dbutils返回的BeanListHandler与BeanHandler对应集合与对象)
- sql查询语句时怎么把几个字段拼接成一个字段
- Orcale:子查询、集合运算、随堂练习相关子查询、创建和管理表、其他数据库对象
- 一个类得到两个集合对象
- hibernate查询某一个对象后,执行createSQLQuery查询出现的问题
- .NET/C#中对对象集合进行查询的方法 以及相关的 Predicate<T> 及 Action<T> 的用法
- mysql中查询语句中的一个知识点说明
- SSH框架问题——hql语句查询级联对象(即:查询出包括当前对象内部维护的对象)的方法。
- 给一个用户创建查询别人的视图的语句
- 一个SQLite数据库的LIKE查询和IN集合查询的代码实例
- hibrenate使用select语句查询多张表的部分字段,并封装到一个实体类(无配置文件)中
- 一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
- 如何用一个SQL语句查询多个表的记录数
- 开发:异常收集之 ibatis查询集合有多个对象,但是对象都为空