一个DataGrid连接两个表,急!

litgrass 2003-10-09 02:05:37
我现在需要在一个DataGrid中显示两个字段,这两个字段来自两个表,该如何实现?DataGrid中的列怎么绑定?是不是需要两个oleDbDataAdapter,两个DataSet?帮帮忙,谢谢 :)
...全文
84 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
litgrass 2003-10-10
  • 打赏
  • 举报
回复
搞定了,谢谢 :)
gage 2003-10-10
  • 打赏
  • 举报
回复
把SQL 语句改下就行了。其他的都是一样的。

string strCmd = "SELECT TableName1.ColumnName, TableName2.ColumnName From TableName, TableName2"

把TableName 和 TableName2 改成你要显示的两个表名, 把 ColumnName 改成你要显示的列名就行了。
dongbeiren 2003-10-10
  • 打赏
  • 举报
回复
哥们,我建议你找本基础的书看看,这样问不行的:)
iyond 2003-10-10
  • 打赏
  • 举报
回复
strSql="select a.col1,b.col2 form tablea as a inner join tableb as b on b.id=a.id where a.id=AID"
SqlConnection objConn=new SqlConnection(strConn);
objConn.Open();
SqlDataReader objReader=new SqlDataReader(strSql,strConn);
DataTable objDt;
objReader.Fill(objDt);
objConn.Close();

DataGrid1.DataSource=objDt.DefaultView;
DataGrid1.DataBind();
suguanqun 2003-10-10
  • 打赏
  • 举报
回复
两个表->一个视图
mostice 2003-10-10
  • 打赏
  • 举报
回复
SQL语句完成。
强制两个表进行关联。条件比如where 1=1.这样不可以吗?
sjc0 2003-10-10
  • 打赏
  • 举报
回复
用sql语句完全可以实现的,其他的方法和原来一样
precipitant 2003-10-10
  • 打赏
  • 举报
回复
首先从数据库读数据,你会不会?如果你会的话,不管几个表你进行无论横向连接还是纵向连接都没问题把。那就把要帮定的数据从若干表中去读来放到一个oledbdatareader或者datatable中,然后

绑定:

datagrid1.datasource="自己指定";
datagrid1.databind();
litgrass 2003-10-09
  • 打赏
  • 举报
回复
如果我用ExecuteNonQuery()执行我的SQL语句,它只返回行数,我该如何把检索出来的结果绑定到我的DataGrid中呢?急!急!急!
litgrass 2003-10-09
  • 打赏
  • 举报
回复
我用了两个oleDbAdapter,用了同一个oleDbConnection,出现下面的错:
ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Open, Fetching。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Open, Fetching。

源错误:


行 250: oleDbSelectCommand1.Parameters["strSN"].Value = txbSN.Text.Trim();
行 251:
行 252: DataGrid1.DataSource = oleDbSelectCommand1.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
行 253: DataGrid1.DataBind();
行 254:

怎么解决阿?
litgrass 2003-10-09
  • 打赏
  • 举报
回复
SQL语句得用UNION,视图怎么用?
暗石绿 2003-10-09
  • 打赏
  • 举报
回复
建立视图,或直接用 SQL 语句
select 表1.field1,表2.field2 from 表1,表2 ..(条件)
xunx 2003-10-09
  • 打赏
  • 举报
回复
可以用数据库的视图解决你的问题:
BfDS 是DataSet
yuhang001 2003-10-09
  • 打赏
  • 举报
回复
用一个SQL语句从两个表中取出你要的值不就行了
litgrass 2003-10-09
  • 打赏
  • 举报
回复
上面的BfDS是什么?能给个C#的例子吗?
litgrass 2003-10-09
  • 打赏
  • 举报
回复
我只知道一个DataGrid可以绑定一个表,我不知道怎么绑定几个表,可以给个例子吗?
bingeng 2003-10-09
  • 打赏
  • 举报
回复
可以直接通过sql查询语句在你需要的那两个表中提取数据,可以分别提取数据,整理你的DataTable再进行数据榜定
1)Sql="select a.*,b.WebSortUpName,c.WebSortDownName from "&UserInfo_&" a ,"&WebSortUp_&" b, "&WebSortDown_&" c where 1=1 And b.WebSortUpId=a.UserProvince And c.WebSortDownId=a.UserCity and LoginClass="&LoginClass&" "&SqlItem&" order By UserId Desc"
2)
Dim MesTable As DataTable = BfDS.Tables("Message")
MesTable.Columns.Add("ImageUrl", Type.GetType("System.String"))
MesTable.Columns.Add("ImageToolTip", Type.GetType("System.String"))
MesTable.Columns.Add("FileLength", Type.GetType("System.String"))
Dim i As Integer
For i = 0 To BfDS.Tables("Message").Rows.Count - 1
If BfDS.Tables("Message").Rows(i).Item("Flag").ToString = "0" Then
BfDS.Tables("Message").Rows(i).Item("ImageUrl") = "image/ReadFalse.gif"
BfDS.Tables("Message").Rows(i).Item("ImageToolTip") = "未读"
Else
BfDS.Tables("Message").Rows(i).Item("ImageUrl") = "image/ReadTrue.gif"
BfDS.Tables("Message").Rows(i).Item("ImageToolTip") = "已读"
End If
Next
BfDS.Tables("Message").AcceptChanges()
pencil_xx 2003-10-09
  • 打赏
  • 举报
回复
oledbconnection objconn=new oleDbConnection(strconn);
oleDbAdapter objAdapter=new oleDbAdapter(strSQl,objconn);
//此处的strSQL即可以用一条联合查询(inner join/left outer join)均可以

DataSet objDataSet=new DataSet();
objAdapter.Fill(objDataSet,strTableName);
在绑定的时候有两种方式
objDataGrid.DataSource=new DataView(objDataSet.Tables[strTableName]);
objDataGrid.DataSource=objDataSet.Tables[strTableName].DefaultView;
objDataGrid.DataBind();

litgrass 2003-10-09
  • 打赏
  • 举报
回复
DataGrid怎么绑定阿?
AskerX 2003-10-09
  • 打赏
  • 举报
回复
两个table中的字段你一次select出来绑定不就完了吗?
加载更多回复(5)

62,041

社区成员

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

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

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

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