怎样同时查询多个表的数据?

tianshangyun520 2009-05-22 01:01:40
protected void Bind()
{
sqlcon.Open();//打开数据库连接
string sqlCmdText = "select * from tb_Card where 帖子编号=@id";
SqlCommand sqlcmd = new SqlCommand(sqlCmdText, sqlcon);
SqlParameter id = new SqlParameter("@id", SqlDbType.Int);
id.Value = int.Parse(_id);
sqlcmd.Parameters.Add(id);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqlcmd;
DataSet ds = new DataSet();
da.Fill(ds);
FormView1.DataSource = ds;
FormView1.DataBind();

string sqlCmdText2 = "select * from tb_Reply where 帖子编号=@id";
SqlCommand sqlcmd2 = new SqlCommand(sqlCmdText2, sqlcon);
SqlParameter id2 = new SqlParameter("@id", SqlDbType.Int);
id2.Value = int.Parse(_id);
sqlcmd2.Parameters.Add(id2);
SqlDataAdapter da2 = new SqlDataAdapter();
da2.SelectCommand = sqlcmd2;
DataSet ds2 = new DataSet();
da2.Fill(ds2, "tb_Reply");
DataList1.DataSource = ds2.Tables["tb_Reply"];
DataList1.DataBind();
}


请问上面这段代码怎样简化,可以把两个查询合到一起吗,如果我同时要查很多表的数据,像我这样那不是要写很多代码
...全文
169 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianshangyun520 2009-05-23
  • 打赏
  • 举报
回复
谢谢大家
jieon 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tianshangyun520 的回复:]
嗯上面的代码为了方便看就没封装了,不过4,5楼都说用视图可以,那到底用
视图能不能对不同控件绑定数据源呢?
[/Quote]可以 用起来是一样的
Mr_Edwin 2009-05-22
  • 打赏
  • 举报
回复
值得一顶,~~~
tianshangyun520 2009-05-22
  • 打赏
  • 举报
回复
我想对不同控件绑定数据源用视图也不太行,但除了封装之后能使代码简洁些外,
还有没其它方法再使其简洁呢,如果我同时要查很多表的数据,像我这样那不是要写很多代码?
tianshangyun520 2009-05-22
  • 打赏
  • 举报
回复
嗯上面的代码为了方便看就没封装了,不过4,5楼都说用视图可以,那到底用
视图能不能对不同控件绑定数据源呢?
desegou 2009-05-22
  • 打赏
  • 举报
回复
可以对数据库的一些基本操作封装一下以减少代码,不过你对不同控件绑定数据源那就不能合了
jieon 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 rexhanpeng 的回复:]
用视图啊
[/Quote] Up
rexhanpeng 2009-05-22
  • 打赏
  • 举报
回复
用视图啊
jiangshun 2009-05-22
  • 打赏
  • 举报
回复
string sqlCmdText = "select * from tb_Reply where 帖子编号=@id union all select * from tb_Card where 帖子编号=@id";   

两个查询的字段数目是一样的吗?
tianshangyun520 2009-05-22
  • 打赏
  • 举报
回复
protected void Bind()
{
sqlcon.Open();//打开数据库连接
string sqlCmdText = "select * from tb_Card where 帖子编号=@id";
SqlCommand sqlcmd = new SqlCommand(sqlCmdText, sqlcon);
SqlParameter id = new SqlParameter("@id", SqlDbType.Int);
id.Value = int.Parse(_id);
sqlcmd.Parameters.Add(id);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqlcmd;
DataSet ds = new DataSet();
da.Fill(ds);
FormView1.DataSource = ds;
FormView1.DataBind();

string sqlCmdText2 = "select * from tb_Reply where 帖子编号=@id";
SqlCommand sqlcmd2 = new SqlCommand(sqlCmdText2, sqlcon);
SqlParameter id2 = new SqlParameter("@id", SqlDbType.Int);
id2.Value = int.Parse(_id);
sqlcmd2.Parameters.Add(id2);
SqlDataAdapter da2 = new SqlDataAdapter();
da2.SelectCommand = sqlcmd2;
DataSet ds2 = new DataSet();
da2.Fill(ds2, "tb_Reply");
DataList1.DataSource = ds2.Tables["tb_Reply"];
DataList1.DataBind();
}
tianshangyun520 2009-05-22
  • 打赏
  • 举报
回复
protected void Bind()
{
sqlcon.Open();//打开数据库连接
string sqlCmdText = "select * from tb_Card where 帖子编号=@id";
SqlCommand sqlcmd = new SqlCommand(sqlCmdText, sqlcon);
SqlParameter id = new SqlParameter("@id", SqlDbType.Int);
id.Value = int.Parse(_id);
sqlcmd.Parameters.Add(id);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqlcmd;
DataSet ds = new DataSet();
da.Fill(ds);
FormView1.DataSource = ds;
FormView1.DataBind();

string sqlCmdText2 = "select * from tb_Reply where 帖子编号=@id";
SqlCommand sqlcmd2 = new SqlCommand(sqlCmdText2, sqlcon);
SqlParameter id2 = new SqlParameter("@id", SqlDbType.Int);
id2.Value = int.Parse(_id);
sqlcmd2.Parameters.Add(id2);
SqlDataAdapter da2 = new SqlDataAdapter();
da2.SelectCommand = sqlcmd2;
DataSet ds2 = new DataSet();
da2.Fill(ds2, "tb_Reply");
DataList1.DataSource = ds2.Tables["tb_Reply"];
DataList1.DataBind();
}

重新发过一下,上面的字太小了

62,243

社区成员

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

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

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

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