并非所有的代码路径都返回值怎么解决

yseks 2010-01-20 10:10:37

public DataView mybind()
{
string s = System.Configuration.ConfigurationManager.AppSettings["strconn"];
using (SqlConnection conn = new SqlConnection(s))
{
string sel = "select * from art";
conn.Open();
SqlDataAdapter dr = new SqlDataAdapter(sel, conn);
DataSet ds = new DataSet();
dr.Fill(ds);
grid.DataSource = ds;
grid.DataBind();

}
return;
}

我把return 去掉提示
“_Default.mybind()”: 并非所有的代码路径都返回值

加上return
提示有错需要一个类型可转换为“System.Data.DataView”的对象
...全文
367 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
yseks 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 starfd 的回复:]
你的方法已经把数据绑定了,然后根据你的说法猜测你方法外又用这个方法返回的DataView去绑定了一次,晕倒~~~~~~

要么你把外面的绑定取消,要么就return ds.Tables[0].DefaultView;
[/Quote]
不懂,绑定两次了吗?
没有吧?
带你一起飞吧 2010-01-20
  • 打赏
  • 举报
回复
改成public dataset mybind() return ds;
  • 打赏
  • 举报
回复
你的方法已经把数据绑定了,然后根据你的说法猜测你方法外又用这个方法返回的DataView去绑定了一次,晕倒~~~~~~

要么你把外面的绑定取消,要么就return ds.Tables[0].DefaultView;
flyerwing 2010-01-20
  • 打赏
  • 举报
回复
return DataView;
返回类型必须一致1
yseks 2010-01-20
  • 打赏
  • 举报
回复
你们真强
arjsyy 2010-01-20
  • 打赏
  • 举报
回复
如果你不想让你的方法有返回值得时候加上void来代替你返回的数据类型!
kkbac 2010-01-20
  • 打赏
  • 举报
回复
看的好晕.
yseks 2010-01-20
  • 打赏
  • 举报
回复
解决了,谢谢各位
zhangkewen1234 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yseks 的回复:]
C# codepublicvoid mybind()
{string s= System.Configuration.ConfigurationManager.AppSettings["strconn"];using (SqlConnection conn=new SqlConnection(s))
{string sel="select * from art";
conn.Open();
SqlDataAdapter dr=new SqlDataAdapter(sel, conn);
DataSet ds=new DataSet();
dr.Fill(ds);
grid.DataSource= ds;
grid.DataBind();
}
}protectedvoid Button1_Click(object sender, EventArgs e)
{
grid.DataSource= mybind();
grid.DataBind();

}
我的源代码是这样的写的..
[/Quote]


click直接调用函数就行
protectedvoid Button1_Click(object sender, EventArgs e)
{
mybind();
}

imfor 2010-01-20
  • 打赏
  • 举报
回复
  public void mybind()
{
string s = System.Configuration.ConfigurationManager.AppSettings["strconn"];
using (SqlConnection conn = new SqlConnection(s))
{
string sel = "select * from art";
conn.Open();
SqlDataAdapter dr = new SqlDataAdapter(sel, conn);
DataSet ds = new DataSet();
dr.Fill(ds);
grid.DataSource = ds;
grid.DataBind();

}
}

qshuiruohan 2010-01-20
  • 打赏
  • 举报
回复
public DataTable mybind()
{
string s = System.Configuration.ConfigurationManager.AppSettings["strconn"];
using (SqlConnection conn = new SqlConnection(s))
{
string sel = "select * from art";
SqlDataAdapter dr = new SqlDataAdapter(sel, conn);
DataTable ds = new DataTale();
dr.Fill(ds);
return ds;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
grid.DataSource = mybind();
grid.DataBind();

}
这样就可以了
tamadegaisi 2010-01-20
  • 打赏
  • 举报
回复
不好意思,返回值应该是void,刚才忘了写上了
tamadegaisi 2010-01-20
  • 打赏
  • 举报
回复
public DataView mybind()
{
string s = System.Configuration.ConfigurationManager.AppSettings["strconn"];
using (SqlConnection conn = new SqlConnection(s))
{
string sel = "select * from art";
conn.Open();
SqlDataAdapter dr = new SqlDataAdapter(sel, conn);
DataSet ds = new DataSet();
dr.Fill(ds);

DataTable dt = new DataTable();
dt = ds.Tables[0];

grid.DataSource = dt;
grid.DataBind();

}
return;
}
l1053710223 2010-01-20
  • 打赏
  • 举报
回复
return对应的类型饿,是不是datatable的饿
mxc1225 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yseks 的回复:]
C# code
public dataset mybind()
{string s= System.Configuration.ConfigurationManager.AppSettings["strconn"];using (SqlConnection conn=new SqlConnection(s))
{string sel="select * from art";
conn.Open();
SqlDataAdapter dr=new SqlDataAdapter(sel, conn);
DataSet ds=new DataSet();
dr.Fill(ds);
grid.DataSource= ds;
grid.DataBind();
return ds;
}
}protectedvoid Button1_Click(object sender, EventArgs e)
{
grid.DataSource= mybind();
grid.DataBind();

}
我的源代码是这样的写的..
[/Quote]
同时建议!数据库连接要及时关闭,要做异常处理!
将void改成dataset试试看!
yseks 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 foren_whb 的回复:]
记得用完之后关闭数据库连接
conn.Close();
[/Quote]
使用
using (SqlConnection conn = new SqlConnection(s))
{}

不是不需要关闭啊,执行完后会自动关闭 conn.open()连接
写在using()里面的啊
fuda_1985 2010-01-20
  • 打赏
  • 举报
回复
public DataSet mybind()
{
string s = System.Configuration.ConfigurationManager.AppSettings["strconn"];
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(s))
{
string sel = "select * from art";
conn.Open();
SqlDataAdapter dr = new SqlDataAdapter(sel, conn);
dr.Fill(ds);
}
return ds;
}
改成这样的试试吧。
wzp144650 2010-01-20
  • 打赏
  • 举报
回复
需要一个DataView 类型的返回值
yseks 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 foren_whb 的回复:]
记得用完之后关闭数据库连接
conn.Close();
[/Quote]
我特意分开写的,因为 很多地方要调用重新绑定,所以我分开写一个就直接调用 mybind
所以出了这样的问题
hyl200255 2010-01-20
  • 打赏
  • 举报
回复
返回一个DataView类型的值
加载更多回复(17)

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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