【发布时间】:2013-10-06 10:27:11
【问题描述】:
这是场景,我有一个选择查询,然后所有获取的数据都必须插入到另一个表中。这就是我想出来的,我不知道 for 循环是否有任何作用。
如果我要删除 for 循环。 例子: 获取的数据是 id1, id2, id3 我数据库中插入的数据是 id1, id1, id1 而不是 id1, id2, id3
sql = "SELECT * FROM dummy_violate WHERE res_month <> @month Or res_year <> @year"
cmd = New MySqlCommand(sql, con)
cmd.Parameters.AddWithValue("@month", DateTime.Now.ToString("MMMM"))
cmd.Parameters.AddWithValue("@year", DateTime.Now.ToString("yyyy"))
dr = cmd.ExecuteReader
While dr.Read
id += dr(0)
count += 1
End While
dr.Close()
If count > 0 Then
For i As Integer = 1 To count
sql2 = "INSERT INTO dummy_violate(res_id, res_month, res_year, is_paid)VALUES(@id,@month,@year,@paid)"
cmd = New MySqlCommand(sql2, con)
cmd.Parameters.AddWithValue("@id", id)
cmd.Parameters.AddWithValue("@month", DateTime.Now.ToString("MMMM"))
cmd.Parameters.AddWithValue("@year", DateTime.Now.ToString("yyyy"))
cmd.Parameters.AddWithValue("@paid", 0)
cmd.ExecuteNonQuery()
Next
ElseIf count = 0 Then
MsgBox("Wrong Query")
End If
【问题讨论】:
-
我需要重命名问题中的标题和其他一些内容,抱歉。
-
'另一张桌子' ?它看起来是同一张桌子。
-
你的意思是什么?我的问题不是表格.. 问题是插入多个数据
-
如果 ID 是表的主键,则不能插入具有相同 ID 的多条记录。 ID 是表
dummy_violate的主键吗? -
不,我的 dummy_violate 不包含主键..