以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表类转换报错问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187901)

--  作者:lin98
--  发布时间:2023/8/19 9:38:00
--  表类转换报错问题


If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Return
End If
dr = DataTables("yhtb").DataRows(0)

If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName \'
    e.Form.Close
Else
    Messagebox.show("密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If



代码执行,报错下面提示,如何解决?
详细错误信息:
无法将类型为“System.Data.DataTable”的对象强制转换为类型“Foxtable.DataTable”。

--  作者:有点蓝
--  发布时间:2023/8/19 9:41:00
--  
如果要使用第三方的组件返回的System.Data.DataTable,这个和Foxtable的datatable不是一回事,不能按照Foxtable的datatable的用法使用的,要去看微软的帮助:https://learn.microsoft.com/zh-cn/dotnet/api/system.data.datatable?view=netframework-4.0&redirectedfrom=MSDN
--  作者:lin98
--  发布时间:2023/8/19 9:42:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:mysql.jpg
图片点击可在新窗口打开查看


--  作者:lin98
--  发布时间:2023/8/19 9:43:00
--  
出错可能是红代码
--  作者:有点蓝
--  发布时间:2023/8/19 9:44:00
--  
要写全命名空间,因为不是Foxtable的datarow和datatable

dim dr as 
System.Data.datarow
……
dim dt as System.Data.datatable = db.executedataset(sql).tables(0)

--  作者:lin98
--  发布时间:2023/8/19 10:16:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:sql报错-1.jpg
图片点击可在新窗口打开查看

dim dr as System.Data.datarow

Dim dt As System.Data.DataTable = db.executedataset(sqKl).Tables(0)

If dt.System.DataRows.Count = 0 Then
\'If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Return
End If

改后,蓝代码报错

--  作者:有点蓝
--  发布时间:2023/8/19 10:32:00
--  
https://learn.microsoft.com/zh-cn/dotnet/api/system.data.datatable.rows?view=netframework-4.0

If dt.Rows.Count = 0 Then