protected DataTable GetDataRow(string strSql)
{
SqlConnection sqlConn = new SqlConnection("server=.;uid=sa;pwd=sa;database=documentData;");
SqlCommand sqlComm = new SqlCommand(strSql, sqlConn);
SqlDataReader dataReader = null;
DataTable dtReturn = null;
object[] value = null;
try
{
sqlComm.Connection.Open();
dataReader = sqlComm.ExecuteReader();
if (dataReader.HasRows)
{
dtReturn = CreateTableBySchemaTable(dataReader.GetSchemaTable());
value = new object[dataReader.FieldCount];
while (dataReader.Read())
{
dataReader.GetValues(value);
dtReturn.LoadDataRow(value, true);
}
value = null;
}
}
catch (Exception err)
{
}
finally
{
dataReader.Close();
sqlComm.Connection.Close();
sqlComm.Dispose();
}
return dtReturn;
}
protected DataTable CreateTableBySchemaTable(DataTable pSchemaTable)
{
DataTable dtReturn = new DataTable();
DataColumn dc = null;
DataRow dr = null;
for (int i = 0; i < pSchemaTable.Rows.Count; i++)
{
dr = pSchemaTable.Rows[i];
dc = new DataColumn(dr["ColumnName"].ToString(), dr["DataType"] as Type);
dtReturn.Columns.Add(dc);
}
dr = null;
dc = null;
return dtReturn;
}
本文介绍了一种方法,用于将SQL查询结果转换为.NET Framework中的DataTable对象。此过程包括使用SqlConnection连接到数据库,执行SQL命令并读取结果,然后创建一个与数据库表结构相匹配的DataTable,并填充查询结果。
7万+

被折叠的 条评论
为什么被折叠?



