gpt4 book ai didi

mysql - 用数据库中的数据填充数据表

转载 作者:行者123 更新时间:2023-11-29 00:17:58 25 4
gpt4 key购买 nike

这就是我想做的。我有一些数据来填充来自 mysql 数据库的数据表。引用示例项目,我一直在从现有表(名为 examquestion)中执行 SELECT 查询来提取这些详细信息。我的查询是这样的:

SELECT * FROM entrancequestion
WHERE Subject='Abstract Reasoning'
ORDER BY RAND()
LIMIT 10)

UNION

(SELECT * FROM entrancequestion
WHERE Subject='English'
ORDER BY RAND()
LIMIT 30)

UNION

(SELECT * FROM entrancequestion
WHERE Subject='Mathematics'
ORDER BY RAND()
LIMIT 30)

UNION

(SELECT * FROM entrancequestion
WHERE Subject='Science'
ORDER BY RAND()
LIMIT 30 )

所以总的来说,数据表应该总共填充 100 行。

我的问题实际上是将这些数据插入数据表

首先我从数据库中读取数据

dim myqry as string    
'where myqry as the codes above
dim examdt as new datatable
Dim conn As New SqlClient.SqlConnection("server=localhost;User Id=root;database=jnhsdb")

Try
conn.Open()

Dim cmd As SqlCommand = New SqlCommand(myqry, conn)
'create data reader
Dim rdr As SqlDataReader = cmd.ExecuteReader

'loop through result set
rdr.Read()

'now im lost on this part.
'i want to insert the data into a data table. i got some code in mind but i think im doing it wrong.




conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

那么,您实际上如何将这些数据从数据库插入到数据表?

跟进问题:是否可以根据这些查询从数据表创建数据集?

最佳答案

首先 - 你自相矛盾。您的查询来自 MySQL,而您的代码用于 SQL Server。您必须决定要使用什么。如果确实是 MySQL - 您需要安装 MySQL.NET 连接器。下面的代码将几乎相同,只是您将使用 MySQL* 类而不是 SQL* 类(例如,MySqlDataAdapter 而不是 SqlDataAdapter )。

也就是说:

不要使用DataReader 来填充DataTable,而是使用DataAdapter。创建 SqlCommand 后 - 试试这个:

Dim da As New SqlDataAdapter(cmd)
da.Fill(examdt)

稍后如果需要 - 您可以创建一个数据集并添加此表:

Dim ds As New DataSet
ds.Tables.Add(examdt)

但还有其他方法。例如上面SqlDataAdapter的.fill()方法可以直接填充DataSet而不是DataTable(会自动建表)

关于mysql - 用数据库中的数据填充数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22255922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com