求助:并非所有的代码路径都返回值

whheng 2008-03-29 11:55:35
public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)
{
DataTable datatable = new DataTable();
try
{
for (int i = 0; i < dataReader.FieldCount; i++)
{
DataColumn mydataColumn = new DataColumn();
mydataColumn.DataType = dataReader.GetFieldType(i);
mydataColumn.ColumnName = dataReader.GetName(i);
datatable.Columns.Add(mydataColumn);
}
while (dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for (int i = 0; i < dataReader.FieldCount; i++)
{
myDataRow[i] = dataReader[i].ToString();
}
datatable.Rows.Add(myDataRow);
myDataRow = null;
}
dataReader.Close();
return datatable;
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.ToString());
}
}

错误 1 “SystemTools.ConvertDataReaderToDataTable(System.Data.SqlClient.SqlDataReader)”: 并非所有的代码路径都返回值
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
whheng 2008-03-29
  • 打赏
  • 举报
回复
谢谢!
rtsp 2008-03-29
  • 打赏
  • 举报
回复
在最后加个return null;
mohugomohu 2008-03-29
  • 打赏
  • 举报
回复
public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader) 
{
DataTable datatable = new DataTable();
try
{
for (int i = 0; i < dataReader.FieldCount; i++)
{
DataColumn mydataColumn = new DataColumn();
mydataColumn.DataType = dataReader.GetFieldType(i);
mydataColumn.ColumnName = dataReader.GetName(i);
datatable.Columns.Add(mydataColumn);
}
while (dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for (int i = 0; i < dataReader.FieldCount; i++)
{
myDataRow[i] = dataReader[i].ToString();
}
datatable.Rows.Add(myDataRow);
myDataRow = null;
}
dataReader.Close();
return datatable;
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.ToString());
return;//这里返回
}
}
wangkun9999 2008-03-29
  • 打赏
  • 举报
回复


public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)
{
DataTable datatable = new DataTable();
try
{
for (int i = 0; i < dataReader.FieldCount; i++)
{
DataColumn mydataColumn = new DataColumn();
mydataColumn.DataType = dataReader.GetFieldType(i);
mydataColumn.ColumnName = dataReader.GetName(i);
datatable.Columns.Add(mydataColumn);
}
while (dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for (int i = 0; i < dataReader.FieldCount; i++)
{
myDataRow[i] = dataReader[i].ToString();
}
datatable.Rows.Add(myDataRow);
myDataRow = null;
}
dataReader.Close();
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.ToString());
}
return datatable; //放在函数外面.

}
superaremeng 2008-03-29
  • 打赏
  • 举报
回复
catch (Exception ex)
{
Console.WriteLine("error:" + ex.ToString());
}
return datatable;
nj_1st_excellence 2008-03-29
  • 打赏
  • 举报
回复

catch (Exception ex)
{
Console.WriteLine("error:" + ex.ToString());
return datatable;
}
jrl5365 2008-03-29
  • 打赏
  • 举报
回复
return null;

110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧