Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >2012表示dataset不是我的窗体的成员

2012表示dataset不是我的窗体的成员
EN

Stack Overflow用户
提问于 2015-06-10 14:08:17
回答 1查看 1.2K关注 0票数 1

我一直在Visual中编写一个以登录表单开头的vb程序。我已经将22个人的用户名和密码存储在Access数据库中。我的计划是,一旦用户将他们的用户名和密码输入到相应的文本框中,他们就会单击"Login“按钮,然后启动所需的代码,用数据库中的信息检查textbox中的文本。

我使用数据源配置向导将数据库加载到解决方案资源管理器中,据我所知,它创建了一个数据集。单击解决方案资源管理器中的数据集时,它将显示适当的查询。当我点击预览数据时,它甚至会显示正确的信息。

问题出现在登录表单上的代码本身。我在"Login“按钮事件处理程序中输入了以下代码:

代码语言:javascript
运行
AI代码解释
复制
Private Sub btnLoginSubmit_Click(sender As Object, e As EventArgs) Handles btnLoginSubmit.Click
    Dim row As TutorAccountDataSet.TutorsRow 'Declares the row variable
    Dim strUsername(21) As String 'Declares the username array
    Dim strPassword(21) As String 'Declares the password array
    Dim intLoginCounter As Integer = 0 'Declares the variable for counting the loop cycles

    For Each row In Me.TutorAccountDataSet.Tutors.Rows 'Loop goes through each row in the dataset and loads the username column into the array
        strUsername(intLoginCounter) = row.Username
        intLoginCounter += 1
    Next
End Sub

在第7行(我开始循环的地方),Visual给出了以下错误:

TutorAccountDataSet不是'Tutor_Training.frmLogin‘的成员。

我确实做了一些研究,但我不确定给有类似问题(但非常不同)问题的人的建议是否适用于这个问题。我想我可能需要为此调用Fill方法,但这也会导致代码中包含的相同错误。

有人知道为什么会发生这个错误吗?如何修复它?

EN

回答 1

Stack Overflow用户

发布于 2015-06-10 23:30:59

首先,正如您所说的,您只需要一个表的内容,我建议从DataTable中获取一个DataSet,而不是从DataBase中获取一个DataSet。

我还建议以编程方式创建和填充这个DataTable,而不是使用VS向导。通过这样做,您可以完全控制您的DataTable将在何处和何时再次创建和释放。

在下面你会发现一个评论很多的方法,你可以添加到你的程序。调整连接字符串以适应您的连接(参见connectionstrings.com中的引用),并调用方法来创建您的DataTable,该方法可以用作迭代的对象,反之亦然。

代码语言:javascript
运行
AI代码解释
复制
Imports System.Data
Imports System.Data.OleDb

Private Function GetDataTableFromAccess(query As String) As DataTable
    '   local variables
    Dim Con As OleDbConnection
    Dim DAdapter As OleDbDataAdapter
    Dim Command As OleDbCommand
    Dim ResultTable As DataTable

    '   initialize the connection
    Con = New OleDbConnection()
    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\_sandbox\Northwind.mdb"

    '   initialize the command
    Command = New System.Data.OleDb.OleDbCommand()
    Command.Connection = Con
    Command.CommandText = query

    '   initialize the DataAdapter (only the Select command, as we're only reading data at this time)
    DAdapter = New System.Data.OleDb.OleDbDataAdapter()
    DAdapter.SelectCommand = Command

    '   initialize the DataTable
    ResultTable = New DataTable()

    '   get data from the dataBase and then get rid of the DataAdapter as it has done it's duty)
    DAdapter.Fill(ResultTable)
    DAdapter.Dispose()

    '   return the populated DataTable to the calling code
    Return ResultTable
End Function

在将此方法添加到代码中之后,只需向主程序添加一行代码,就可以从DataBase获得任何查询结果:

代码语言:javascript
运行
AI代码解释
复制
'   adjust the query to your needs
Dim UsrTbl As DataTable = GetDataTableFromAccess("SELECT * FROM UserTable")

哦,请注意,上面的解决方案是针对..mdb数据库文件的。如果您使用的是..accdb Database格式,那么您可能必须在您的程序打算从运行的每台计算机上安装专用驱动程序,因为据我所知..accdb Database驱动程序不是Windows7的本机部分(同样,请参阅connectionstrings.com以获得参考)。考虑到这一点,我建议您使用..mdb数据库格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30768160

复制
相关文章
链表项目实战
链表的基本知识点和基本操作相信各位小伙伴已经能闭上眼睛可以敲出来而且不需要调试一次过,这次呢我们来讲一个案例:学生管理系统,这是我大一C语言课程设计做的,采用单链表,很简单,就是帮大家理一下思路。
石璞东
2020/04/21
6060
链表项目实战
dataframe行变换为列
使用 import org.apache.spark.sql.functions 里面的函数,具体的方式可以看 functions :
机器学习和大数据挖掘
2019/07/01
1.1K0
从 Redis 表项看 SONiC 架构
SONiC 系统的架构由各种模块组成,这些模块通过集中式和可扩展的基础架构相互交互。这个基础设施依赖于使用一个 redis-database 引擎来提供一个独立于语言的接口,一个在所有 SONiC 子系统之间进行数据持久化、复制和多进程通信的方法。
宋天伦
2022/12/16
2.8K0
FreeRTOS(八):列表和列表项
要想看懂 FreeRTOS 源码并学习其原理,有一个东西绝对跑不了,那就是 FreeRTOS 的列表和列表项。列表和列表项是 FreeRTOS 的一个数据结构,FreeRTOS 大量使用到了列表和列表项, 它是 FreeRTOS 的基石。要想深入学习并理解 FreeRTOS,那么列表和列表项就必须首先掌握, 否则后面根本就没法进行。
Jasonangel
2021/12/27
2.2K0
FreeRTOS(八):列表和列表项
解密 Qakbot 的加密注册表项
自 2021 年 9 月初 Qakbot 木马回归以来,尤其是通过SquirrelWaffle恶意垃圾邮件活动,我们从 Trustwave DFIR 和全球威胁运营团队收到了一些要分析的 Qakbot 样本。
Khan安全团队
2022/01/17
8160
Python小技巧 3:列表项的排序
需要对列表中的项进行排序时使用。其中典型代码1是使用的列表自身的一个排序方法sort,这个方法自动按照升序排序,并且是原地排序,被排序的列表本身会被修改;典型代码2是调用的内置函数sort,会产生一个新的经过排序后的列表对象,原列表不受影响。这两种方式接受的参数几乎是一样的,他们都接受一个key参数,这个参数用来指定用对象的哪一部分为排序的依据:
py3study
2020/01/10
4580
散列函数(哈希)(转)
Hash一般翻译作散列也有直接音译作“哈希”。就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。
Oceanlong
2018/12/28
9320
(七)列表项的进场/离场动画
列表进场离场动画经常使用,vue 也给我们提供了这个组件 <TransitionGroup />
老怪兽
2023/02/22
4180
(七)列表项的进场/离场动画
mysql 多行转一列_mysql行转列(多行转一列)
比如说一个订单对应多条数据,当状态(status)=1的时候, 数量(num)=25,当状态(status)=2的时候, 数量(num)=45,现在想用一条sql记录下不同状态对应的数量为多少,如下图所示:
全栈程序员站长
2022/09/01
5.5K0
mysql 多行转一列_mysql行转列(多行转一列)
ListActivity和自定义列表项
相信通过前两期的学习,以及会开发最简单的一些列表界面了吧,那么本期接着来学习更多方法技巧。 一、使用ListActivity 如果程序的窗口仅仅需要显示一个列表,则可以直接让Activity继承ListActivity来实现, ListActivity的子类无须调用setContentView()方法来显示某个界面,而是可以直接传入一个内容Adapter,ListActivity的子类就呈现出一个列表。 接下来通过一个简单的示例程序来学习基于ListActivity实现列表。 继
分享达人秀
2018/02/02
1.4K0
ListActivity和自定义列表项
如何使用PowerShell批量删除注册表项
卸载了可牛压缩软件以后,发现右键菜单中仍然有可牛压缩的选项。不用想就知道是注册表中有该软件的残留。
卡尔曼和玻尔兹曼谁曼
2022/09/16
1.9K0
【说站】python迭代中删除列表项目
2、通过分配给slice somelist[:],改变现有列表以仅包含想要的项目。
很酷的站长
2022/11/24
1.6K0
【说站】python迭代中删除列表项目
金山轻维表项目进展自动通知
项目经理作为项目全局把控者,经常要和时间“赛跑”。需要实时了解到目前进展如何,跟进人是那些?哪些事项还未完成?项目整体会不会逾期?
阿那个沫
2023/03/03
1.4K0
金山轻维表项目进展自动通知
如何使用PowerShell批量删除注册表项
卸载了可牛压缩软件以后,发现右键菜单中仍然有可牛压缩的选项。不用想就知道是注册表中有该软件的残留。 打开注册表,进行搜索发现在计算机\HKEY_USERS\S-1-5-21-3610452307-4043425157-186669480-1001\Software\Classes的子目录下有超过100+的关于可牛压缩的子项。 注册表编辑器还不支持按住Shift进行多选,所以只能使用脚本进行批量删除。 !!!友情提示,删除之前请进行注册表备份,或者你百分比确定你的代码没有问题,再执行,否则发生的任何损失,本文概不负责!!!
卡尔曼和玻尔兹曼谁曼
2022/09/27
4.1K0
卡片列表项缓缓往下展示 效果实现
似乎项目中也有类似的卡片列表,列表的展示是直接显示出来的,加上动效之后应该更有活力,便照着样子实现了一下
书童小二
2018/12/21
9700
为什么查看的ARP表项中没有VLAN信息?
如果ARP表项没有VLAN信息,那么代表这条表项中的接口处于三层模式,是一个三层口;
网络工程师笔记
2021/05/17
1.9K0
为什么查看的ARP表项中没有VLAN信息?
【说站】python计算列表项出现次数的方法
2、使用count()计算所有项目,要计算一个项目的出现次数可以简单地使用列表理解和count()方法。
很酷的站长
2022/11/24
1.3K0
【说站】python计算列表项出现次数的方法
列向量互信息计算通用MATLAB代码
其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。
里克贝斯
2021/05/21
3K0
列向量互信息计算通用MATLAB代码
matlab生成数字1-n的列向量
matlab生成数字1-n的列向量 觉得有用的话,欢迎一起讨论相互学习~ 利用行向量 首先生成1-n行矩阵 转置 % n此处设置为5 BD1=1:5 BD2=BD1.' % BD1 = % % 1 2 3 4 5 % % % BD2 = % % 1 % 2 % 3 % 4 % 5 reshape % n此处设置为5 BD1=1:5 BD2=reshape(BD1,5,1) % BD1 = % % 1
演化计算与人工智能
2020/08/14
1.3K0
点击加载更多

相似问题

美元符号(美元)(美元)

11

在Java中括号是做什么的:美元=(美元)对象;

30

Eclipse的美元跌落是美元评论的标准吗?

26

在PHP中,$$ (美元或双美元)是什么意思?

6144

在尼尼姆中,什么是等效的MEF CreationPolicy.NonShared?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文