由SqlDataReader读出的一个数据行,怎样逐一将各字段转化成字符串?——————下面的代码 错在那里?---------------------------------------------- SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
foreach (object o in sdr)
{
if (o != null)
s += (string)o; //s是前面已经定义的 string
}
}
--------------------------------------------------------------------
while (sdr.Read())
{
foreach (object o in sdr)
{
if (o != null)
s += (string)o; //s是前面已经定义的 string
}
}
--------------------------------------------------------------------
public string s;
{
///定义DataTable和模式
DataTable datatable = new DataTable();
DataTable schemaTable = dataReader.GetSchemaTable();
try
{ ///动态添加表的数据列
foreach(DataRow myRow in schemaTable.Rows)
{
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = myRow.GetType();
myDataColumn.ColumnName = myRow[0].ToString();
datatable.Columns.Add(myDataColumn);
}
///添加表的数据
while(dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for(int i=0;i<schemaTable.Rows.Count;i++)
{
myDataRow[i] = dataReader[i].ToString();
}
datatable.Rows.Add(myDataRow);
myDataRow = null;
}
schemaTable = null;
///关闭数据读取器
dataReader.Close();
return datatable;
}
catch(Exception ex)
{
///抛出类型转换错误
SystemError.SystemLog(ex.Message);
throw new Exception(ex.Message,ex);
}
}
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
for (int i = 0; i < sdr.FieldCount; i++)
{
s += sdr.GetValue(i).ToString(); //s是前面已经定义的 string
}
}