如何将DataTable进行select后的内容赋到新的DataTable中?

pbooter 2004-05-06 11:21:30
我对DataTable tbl_1;进行Select出一些数据,我要将这些数据 写入 DataTable tbl_2中,请问如何实现? 谢谢
当tbl_1与tbl_2列数相同时,如何实现?
当结构不同时,如下,如何实现?
tbl_1 结构为三列: id aa bb
tbl_2 结构为二列: aa bb
...全文
259 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenen 2004-05-07
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
DataTable tblOld=(DataTable)Session["Table"];
DataTable tblNew=new DataTable();
int intI;
DataRow rowNew,rowTemp;
tblNew.Columns.Add("val");
tblNew.Columns.Add("dd");
object[] arrTest = new object[2];
for(intI=0;intI<tblOld.Rows.Count;intI++)
{
rowTemp=tblOld.Rows[intI];
rowNew=tblNew.NewRow();
arrTest[0]=rowTemp.ItemArray[1];
arrTest[1]=rowTemp.ItemArray[2];
rowNew.ItemArray=arrTest;
tblNew.Rows.Add(rowNew);
}
DataGrid1.DataSource=tblNew.DefaultView;
DataGrid1.DataBind();
}

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
string strCn="Data Source=.;uid=develop;pwd=12345;Initial Catalog=new_ks";
string strSQL=" SELECT id,val,dd "
+" FROM dbo.tabA ";
SqlDataAdapter sadTest=new SqlDataAdapter(strSQL,strCn);
DataSet dsTest=new DataSet();
sadTest.Fill(dsTest);
Session["Table"]=dsTest.Tables[0];
DataGrid1.DataSource=dsTest.Tables[0].DefaultView;
DataGrid1.DataBind();
}
}
shenen 2004-05-07
  • 打赏
  • 举报
回复
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
Dim strCn As String = "Data Source=.;uid=develop;pwd=12345;Initial Catalog=new_ks"
Dim strSQL As String = " SELECT id,val,dd " & _
" FROM dbo.tabA "
Dim sadTest As New SqlDataAdapter(strSQL, strCn)
Dim dsTest As New DataSet
sadTest.Fill(dsTest)
Session("Table") = dsTest.Tables(0)
DataGrid1.DataSource = dsTest.Tables(0).DefaultView
DataGrid1.DataBind()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tblOld As DataTable = CType(Session("Table"), DataTable)
Dim tblNew As New DataTable
Dim intI As Integer
Dim rowNew, rowTemp As DataRow

tblNew.Columns.Add("val")
tblNew.Columns.Add("dd")
For intI = 0 To tblOld.Rows.Count - 1
rowTemp = tblOld.Rows(intI)
rowNew = tblNew.NewRow()
rowNew.Item(0) = rowTemp.Item(1)
rowNew.Item(1) = rowTemp.Item(2)
tblNew.Rows.Add(rowNew)
Next
DataGrid1.DataSource = tblNew.DefaultView
DataGrid1.DataBind()
End Sub
pbooter 2004-05-07
  • 打赏
  • 举报
回复
楼上的 我说的不是这个意思 我是说 在程序中如何对datatable互操作,不是datagrid的事 谢谢回答
ztx998 2004-05-07
  • 打赏
  • 举报
回复
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
int id=DataGrid1.SelectedIndex;
Session["strbm"]=DataGrid1.Items[id].Cells[1].Text.ToString();
//这样就可以取出选中行中的每一列的值,然后再更新到另一个表中就可以了
………………………………
}

前提是有一个选择列
vzxq 2004-05-07
  • 打赏
  • 举报
回复
帮你UP,大不了写两个select 语句吧。
smx717616 2004-05-07
  • 打赏
  • 举报
回复
不才,你说的我不会 。
不过可以把列隐藏哦!

62,243

社区成员

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

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

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

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