无法找到表0
环境vs2008c#sql2005.急啊.帮我解决.再追分.错误如图所示.///<summary>///公有方法,获取数据,返回一个DataTable。///</summ...
环境vs2008 c# sql2005.急啊.帮我解决.再追分.
错误如图所示.
/// <summary>
/// 公有方法,获取数据,返回一个DataTable。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataTable</returns>
public DataTable GetDataTable(String SqlString)
{
DataSet dataset = GetDataSet(SqlString);
dataset.CaseSensitive = false;
return dataset.Tables[0];
}
/// <summary>
/// 公有方法,获取数据,返回一个DataRow。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataRow</returns>
public DataRow GetDataRow(String SqlString)
{
DataSet dataset = GetDataSet(SqlString);
dataset.CaseSensitive = false;
if (dataset.Tables[0].Rows.Count > 0)
{
return dataset.Tables[0].Rows[0];
}
else
{
return null;
}
}
GetDataSet()的代码
/// <summary>
/// 公有方法,获取数据,返回一个DataSet。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataSet</returns>
public DataSet GetDataSet(String SqlString)
{
DataSet dataset = new DataSet();
Open();
try
{
SqlDataAdapter adapter = new SqlDataAdapter(SqlString, Connection);
adapter.Fill(dataset);
}
catch (Exception e)
{
//log.WriteLog(EventLogEntryType.Warning, "GetDataSet失败,SqlString=" + SqlString + ",系统异常信息:" + e.Message);
}
finally
{
Close();
}
return dataset;
}
在if (dataset.Tables[0].Rows.Count > 0)
加一个判断
if(dataset.Tables.Cou 展开
错误如图所示.
/// <summary>
/// 公有方法,获取数据,返回一个DataTable。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataTable</returns>
public DataTable GetDataTable(String SqlString)
{
DataSet dataset = GetDataSet(SqlString);
dataset.CaseSensitive = false;
return dataset.Tables[0];
}
/// <summary>
/// 公有方法,获取数据,返回一个DataRow。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataRow</returns>
public DataRow GetDataRow(String SqlString)
{
DataSet dataset = GetDataSet(SqlString);
dataset.CaseSensitive = false;
if (dataset.Tables[0].Rows.Count > 0)
{
return dataset.Tables[0].Rows[0];
}
else
{
return null;
}
}
GetDataSet()的代码
/// <summary>
/// 公有方法,获取数据,返回一个DataSet。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataSet</returns>
public DataSet GetDataSet(String SqlString)
{
DataSet dataset = new DataSet();
Open();
try
{
SqlDataAdapter adapter = new SqlDataAdapter(SqlString, Connection);
adapter.Fill(dataset);
}
catch (Exception e)
{
//log.WriteLog(EventLogEntryType.Warning, "GetDataSet失败,SqlString=" + SqlString + ",系统异常信息:" + e.Message);
}
finally
{
Close();
}
return dataset;
}
在if (dataset.Tables[0].Rows.Count > 0)
加一个判断
if(dataset.Tables.Cou 展开
展开全部
你的方法这样改下:
/// <summary>
/// 公有方法,获取数据,返回一个DataRow。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataRow</returns>
public DataRow GetDataRow(String SqlString)
{
DataSet dataset = GetDataSet(SqlString);
dataset.CaseSensitive = false;
if (dataset.Tables[0] != null && dataset.Tables[0].Rows.Count > 0)
{
return dataset.Tables[0].Rows[0];
}
return null;
}
补充:
在if (dataset.Tables[0].Rows.Count > 0)
加一个判断
if(dataset.Tables.Count>0)
又出以下错
错误 7 “DataAccess.GetDataRow(string)”: 并非所有的代码路径都返回值 D:\电子商务实验平台C2C\App_Code\database.cs
----------------
你在最后的时候,加个return null;就可以了
/// <summary>
/// 公有方法,获取数据,返回一个DataRow。
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>DataRow</returns>
public DataRow GetDataRow(String SqlString)
{
DataSet dataset = GetDataSet(SqlString);
dataset.CaseSensitive = false;
if (dataset.Tables[0] != null && dataset.Tables[0].Rows.Count > 0)
{
return dataset.Tables[0].Rows[0];
}
return null;
}
补充:
在if (dataset.Tables[0].Rows.Count > 0)
加一个判断
if(dataset.Tables.Count>0)
又出以下错
错误 7 “DataAccess.GetDataRow(string)”: 并非所有的代码路径都返回值 D:\电子商务实验平台C2C\App_Code\database.cs
----------------
你在最后的时候,加个return null;就可以了
展开全部
我遇到过这个问题,主要原因是你的Tables[0].Rows没有初始化,我用了一个最笨的方法:
我的程序中:
listViewLog_A.Items.Clear();
listViewLog_M.Items.Clear();
for (int i = 0; i < 256; i++)
{
this.listViewLog_A.Items.Add(i.ToString());
for (int j = 0; j < 9; j++)
{
this.listViewLog_A.Items[this.listViewLog_A.Items.Count - 1].SubItems.Add(string.Empty);
}
this.listViewLog_M.Items.Add(i.ToString());
for (int j = 0; j < 9; j++)
{
this.listViewLog_M.Items[this.listViewLog_M.Items.Count - 1].SubItems.Add(string.Empty);
}
}
目前还不知道c#这个Bug怎么解决,这样可以保证你能用了,呵呵。
我的程序中:
listViewLog_A.Items.Clear();
listViewLog_M.Items.Clear();
for (int i = 0; i < 256; i++)
{
this.listViewLog_A.Items.Add(i.ToString());
for (int j = 0; j < 9; j++)
{
this.listViewLog_A.Items[this.listViewLog_A.Items.Count - 1].SubItems.Add(string.Empty);
}
this.listViewLog_M.Items.Add(i.ToString());
for (int j = 0; j < 9; j++)
{
this.listViewLog_M.Items[this.listViewLog_M.Items.Count - 1].SubItems.Add(string.Empty);
}
}
目前还不知道c#这个Bug怎么解决,这样可以保证你能用了,呵呵。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你dataset的tables集合是空的,没有任何表。你用sqlserver的事件探查器看看sql语句,再执行一下,肯定是sql语句有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在调用dataset.tables(0)之前,应当先判断dataset不为空,并且dataset.tables的count大于0,否则检索不到结果时,就会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
GetDataSet();//这个方法的代码呢???
其外在
if (dataset.Tables[0].Rows.Count > 0)
前面需要多加一个判断
if(dataset.Tables.Count>0)
其外在
if (dataset.Tables[0].Rows.Count > 0)
前面需要多加一个判断
if(dataset.Tables.Count>0)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询