0

我需要检索表名和所有后续列以手动添加到表中,从我得到的代码中给出。我可以很容易地收集所有的表名(我相信),但我无法准确地看到我在寻找什么。我需要帮助了解列数据和数据类型(带有表的旧 mysql 数据库丢失了)

useroptions.vb :http://pastebin.com/84SxTzfz
useroptionscommon.vb :http://pastebin.com/2rxf3e2y
Connections.vb :http://pastebin.com/CpWqt2m8
userpersistence.vb :http://pastebin.com/TaAex24Q
streamprocessor.vb :http://pastebin.com/Tazr1s8p
serverpersistance.vb :http://pastebin.com/qvnCN2PY
frontpagehub.vb :http://pastebin.com/FYyLH4qP

即使有人可以告诉我要查找什么来找出我需要添加的表、列和列的数据类型。我将不胜感激。我已经花了几天时间尝试重建数据库并找到找出我需要的一切的方法,并且我已经启动并运行了一些东西,但尤其是这些我遇到了麻烦。

4

1 回答 1

0

搜索关键字 INSERT、UPDATE、DELETE 和 SELECT 以到达程序文件中的 SQL 语句,以找出表的名称和表的列。您可以从提供给 SQL 语句中使用的参数的值中获取最接近的 SQL 数据类型信息。您可能会对基于 WHERE 子句中的列的主键有所了解,但它需要您对列的预期用途的判断和熟悉来确定某些列作为主键,因为非主列也可以在 WHERE 子句中。

例如,我在文件 useroptions.vb 中看到以下代码:

                Dim Connection As New MySqlConnection(Utils.connectionString) : Connection.Open()
                Dim Command As New MySqlCommand("UPDATE custom_user_data SET `" + name + "`=@value WHERE userID=@userID;", Connection)
                Command.Parameters.AddWithValue("@value", value)
                Command.Parameters.Add("@userID", MySqlDbType.Int32).Value = userID
                Command.ExecuteNonQuery()

在这里您可以找到 UPDATE 语句。第一个标识符 custom_user_data 是表的名称。变量名包含一个你必须弄清楚的列名。WHERE 子句包含列名 userID。您可以从参数中获取一些 SQL 数据类型信息。不幸的是,我不是 VB 程序员,因此我无法提供更多信息。正如有人指出的那样,从程序中获取各种约束(主键、外键、检查约束)、可空性信息、触发器、任何存储过程等几乎是不可能的。祝你好运。

于 2013-09-10T04:39:29.623 回答