Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.NET和MySQL数据库的自动类型转换/空处理_Vb.net_Vb6_Ado_Adodb_Vb6 Migration - Fatal编程技术网

VB.NET和MySQL数据库的自动类型转换/空处理

VB.NET和MySQL数据库的自动类型转换/空处理,vb.net,vb6,ado,adodb,vb6-migration,Vb.net,Vb6,Ado,Adodb,Vb6 Migration,正在将某些项目从VB6转换为VB.NET 2012(同样的问题出现在VB.NET 2002、2005、2008和2012中) 我发现最恼人的问题是,使用VB6中的典型ADO连接,我可以提取数据和任何可能是字符串的字段,我可以添加&“”,以确保它不返回空值,同时在服务器上使用空值保持最佳数据库完整性 在.NET中尝试如此简单的操作时,过程要复杂很多倍,我发现现在必须先转换每个字段,然后才能使用数据-此外,根据字段数据类型以各种方式强制执行空检查-您必须事先知道,才能使用数据 在VB.NET中,下列

正在将某些项目从VB6转换为VB.NET 2012(同样的问题出现在VB.NET 2002、2005、2008和2012中)

我发现最恼人的问题是,使用VB6中的典型ADO连接,我可以提取数据和任何可能是字符串的字段,我可以添加&“”,以确保它不返回空值,同时在服务器上使用空值保持最佳数据库完整性

在.NET中尝试如此简单的操作时,过程要复杂很多倍,我发现现在必须先转换每个字段,然后才能使用数据-此外,根据字段数据类型以各种方式强制执行空检查-您必须事先知道,才能使用数据

在VB.NET中,下列VB6代码的等效项是什么

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    sSQL = "SELECT reminderdate FROM notes WHERE uniqueid=" & NoteID
    cn.Open "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=" & Chr(34) & "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & DatabaseServer & ";DATABASE=" & DatabaseName & ";UID=" & DatabaseUsername & ";PWD=" & DatabasePassword & ";OPTION=16427" & Chr(34) & ";Initial Catalog=" & DatabaseName & ""
    rs.Open sSQL, cn, adOpenForwardOnly, adLockReadOnly
    If rs.EOF = False Then
        While rs.EOF = False
            For Each rs.Fields as fieldData
                 Debug.Print fieldData & "|"
            Next fieldData
            Debug.Print "===========" ' Delimited for next record data
        Wend
    End If
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
请理解,上面的代码不关心数据的类型,不关心数据库中有多少字段,也不关心存在多少记录


编辑:我假设,既然我说过我希望在.NET中做同样的事情,那么很明显我希望使用.NET组件,而不是COM进行连接

请参阅此处有关如何使用MySqlData连接器(本机.NET组件)的文档


好了,你们两个都别说了。这场讨论毫无成效,所以我要把它抹掉。我建议你们都走开,别管这个了。看来你们应该把问题更多地放在如何设置VB.NET数据库连接上。为此,你应该指定你想要的数据库和你发现的问题(你包含的链接包含完美的工作代码;你有什么疑问?)。这是我的全部帮助,接受它或离开它;但是让我们最好停止所有的交流,你不这样认为吗?