Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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
C# 用C语言枚举窗体上的记录_C#_Database_Vb6_Recordset - Fatal编程技术网

C# 用C语言枚举窗体上的记录

C# 用C语言枚举窗体上的记录,c#,database,vb6,recordset,C#,Database,Vb6,Recordset,我是一个老VB程序员,试图用C语言构建一个应用程序。这个想法很简单,真的-只想有一个俗气的表单,其中有3个从数据库填充的文本框,还有两个按钮:下一步移动和上一步移动 在旧的VB6中,我会在Form_Load事件上打开一个静态连接,然后打开一个记录集并填充文本框。我的“下一步移动”和“上一步移动”按钮后面只会有rst.MoveNext和rst.MovePrevious代码,以及类似于[Textbox1.Text=rstField1]的代码。最后,在表单的结束活动中,我会有一些类似于cnn.clos

我是一个老VB程序员,试图用C语言构建一个应用程序。这个想法很简单,真的-只想有一个俗气的表单,其中有3个从数据库填充的文本框,还有两个按钮:下一步移动和上一步移动

在旧的VB6中,我会在Form_Load事件上打开一个静态连接,然后打开一个记录集并填充文本框。我的“下一步移动”和“上一步移动”按钮后面只会有rst.MoveNext和rst.MovePrevious代码,以及类似于[Textbox1.Text=rstField1]的代码。最后,在表单的结束活动中,我会有一些类似于cnn.close的东西

从我所读到的内容来看,这不是C语言中的做法。由于连接池,静态数据库连接是禁忌的。但这给我留下了一些思考的空间:如果没有静态记录集和db连接,我如何重新设计我的小C应用程序

如果我打开连接,在加载事件中将第一条记录加载到我的表单上,即:从MYTABLE中选择TOP 1,然后关闭连接,我如何管理我的MoveNext和MovePrevious按钮?我是否应该重新打开连接,并以某种方式尝试查询表中下一个最低或下一个最高的主键

还是我只是完全错误地对待这件事

非常感谢您的帮助

谢谢,
Jason

您要做的是创建一个数据集,您可以使用DataSourceWindow视图->其他窗口->数据源视图从数据库中插入一个数据集, 使用数据集,您可以拖放字段,并拥有实用程序BindingSource Navigator
看看VB6中的这个链接,这个框架试图以一种非常具体的方式为您做很多工作。在.NET Framework中,他们意识到记录集的处理方式并不适合每个人的需要,因此他们通过使用不同的数据访问模式实现,为开发人员提供了更多的控制。正如Patrick提到的,数据集是其中之一,但还有一个


您还可以加载一个缓冲区,并使用下一个上一个缓冲区浏览该缓冲区,然后在到达该缓冲区的末尾时加载更多缓冲区。

谢谢,Sriram。但我试图避免绑定控件。我知道这需要做很多工作,但稍后我需要对数据进行更多的控制