保证两个表结构一样!insert into table1 select * from table2
解决方案 »
- 最近做一些项目需要到一些资产文档的保护浏览(仅供浏览器查看,但没有copy和download的权限),为了防止截图,希望还加上水印,水印
- ASP.net调用C语言写的DLL,找不到DLL模块
- asp.net(VB)中,数据库链接添加类中的程序怎么写??vs2003环境
- ASP.NET
- 当前上下文不存在ds
- 关于一个CSS的问题。
- 请问 vs2003 用 水晶报表 导出 excel 时 怎样保存 所有的 格线??????? 急!!!!!
- web.config中的值如何动态改变?
- 我用DATALIST分页,为什么只显示第一页?请教高手
- 在线播放电影如何实现?
- 用户控件任何缓存
- 誰知道哪里有免费的MySQLProv?
insert into b(column_a,column_b......) select column_a,column_b...... from a
这样可以吗?
可以将A表中的数据都读入一个dataset中的一个table,再将其插入B表中
用循环的话应该不是很麻烦
但是也要考虑数据类型的转换
这样可以吗?这是什么写法呀?
Dim j As Integer
For j = 0 To ds.Tables("Upfiles").Rows.Count - 1
Dim strInsert As String = "INSERT INTO UpFiles (MailId,Name,Type,Content) VALUES (@MailId,@Name,@Type,@Content)"
Dim InsertComm As New SqlCommand(strInsert, objConn)
Dim param1 As New SqlParameter("@Name", SqlDbType.VarChar)
param1.Value = ds.Tables("Upfiles").Rows(j)("Name")
Dim param2 As New SqlParameter("@Content", SqlDbType.Image)
param2.Value = ds.Tables("Upfiles").Rows(j)("Content")
Dim param3 As New SqlParameter("@Type", SqlDbType.VarChar)
param3.Value = ds.Tables("Upfiles").Rows(j)("Type")
Dim param4 As New SqlParameter("@MailId", SqlDbType.Int)
param4.Value = ds.Tables("TheMess").Rows(0)("Id")
InsertComm.Parameters.Add(param1)
InsertComm.Parameters.Add(param2)
InsertComm.Parameters.Add(param3)
InsertComm.Parameters.Add(param4)
Try
InsertComm.ExecuteNonQuery()
Catch ex As Exception
flag = False
bSuccess = False
lblMsg.Text += "用户" + strAcceptName(i) + "追加附件失败!请与管理员联系。原因:"
lblMsg.Text += ex.Message + "<br>"
Exit Sub
End Try
Next
// eg:
ds.Tables["sqltable"]中。
foreach(DataRow dr in ds.Tables["sybasetable"].Rows)
{
ds.Tables["sqltable"].Rows.Add(dr);
}
如果表结构不一样的话,你先创建ds.Tables["sqltable"]的表行,然后将ds.Tables["sybasetable"]中的数据转换后赋值给行中各列,然后把行插入到ds.Tables["sqltable"]
// eg:
foreach(DataRow dr in ds.Tables["sybsetable"].Rows)
{
// 创建新行
DataRow sqldr=ds.Tables["sqltable"].NewRow();
// 进行相应的转换
sqldr["col11"]=dr["col21"];//如果必要的话可以进行相应的类型转换等
..........................
sqldr["col1n"]=dr["col2n"];
// 添加到ds.Tables["sqltable"]中
ds.Tables["sqltable"].Rows.Add(sqldr);
}
出错行就是:ds.Tables["sqltable"].Rows.Add(dr);
怎么解决呢?
foreach(DataRow Dr in DT2.Rows)
{
DT1.ImportRow(Dr);
}