Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 使用SQL tempdb to databind()到ListBox_C#_Asp.net_Sql_Data Binding_Tempdb - Fatal编程技术网

C# 使用SQL tempdb to databind()到ListBox

C# 使用SQL tempdb to databind()到ListBox,c#,asp.net,sql,data-binding,tempdb,C#,Asp.net,Sql,Data Binding,Tempdb,我正在创建一个网页,其中有一系列成对的列表框。在每一对中都有一个包含许多选项的源,您可以在其中选择一个或多个选项并将其添加到第二个列表框中 我创建了一些永久表,其中包含源列表框的静态成员;但是,我希望使用SELECT*从src1到tempsrc1,然后将tempsrc1绑定到ListBox。从那里将为目标ListBox绑定创建tempdst1。然后,任何选择都会相应地来回移动 虽然绑定到永久性数据库很容易,但在接下来的部分中,如果可能绑定到tempdb设置,我会遇到麻烦。我对SQL非常陌生,对体

我正在创建一个网页,其中有一系列成对的列表框。在每一对中都有一个包含许多选项的源,您可以在其中选择一个或多个选项并将其添加到第二个列表框中

我创建了一些永久表,其中包含源列表框的静态成员;但是,我希望使用SELECT*从src1到tempsrc1,然后将tempsrc1绑定到ListBox。从那里将为目标ListBox绑定创建tempdst1。然后,任何选择都会相应地来回移动


虽然绑定到永久性数据库很容易,但在接下来的部分中,如果可能绑定到tempdb设置,我会遇到麻烦。我对SQL非常陌生,对体系结构没有深入的了解。

我认为您的设计是错误的

临时数据不应保存在数据库中,而应保存在应用程序层中。在有两个列表框的情况下,您可能可以使用列表框本身来跟踪项目。如果需要保留与列表框中显示的文本相关的数据,我建议在会话对象中放置一个字典


在可能使用不同数据库连接的不同请求之间保持一个诱人的活动状态可能也很棘手。除非您将数据库连接存储在会话中,否则我认为当连接池重置数据库连接时,这些诱惑将丢失。

我在处理winforms应用程序的临时表时遇到了同样的问题。应用程序需要绑定到永久表,而不能绑定到存储在SQL server中的临时表


您可以创建一个存储过程来返回所需的数据

我建议不要使用临时数据库。因为新连接可能会丢失该值。如果需要,使用永久表并将列表框数据放入缓存。

源列表框有一个selectedindexchanged事件

使用该事件: 1创建一个列表框项目 2 set listbox item=源的选定项 3项。添加或项。将列表框项插入目标列表框


这是相当标准的。但不要在数据库中使用临时表。正如@Andres所说,在应用程序层中保持跟踪。我能想到的唯一例外是,如果您需要跟踪会话范围以外的内容。

我很害怕。我尝试使用数据库的原因是,我正在使用的某些listbox控件会清除post上的数据,除非它是数据绑定的,并且绑定到arraylist之类的东西可能需要切换listbox。列表框必须从数据库中填充,该网站是我所在大学材料工程研究的大型数据库,研究人员可以从中选择许多选项,如技术等。出于某种原因,Obout列表框在没有数据绑定的情况下不会保留数据。“无法删除”不会出现错误,因为在post时,列表框会清除,然后执行“删除”,从而导致索引越界问题。我想我必须重新思考ListBoxes上的功能与美观感谢所有的见解,我对asp和sql一般来说都是新手。图最佳方法是重新设置此设置。如果您认为答案相关且有帮助,请单击向上的三角形向上投票。最好的答案应通过单击旁边的复选标记标记为已接受。@Anders我还没有15分可以这么做。。。否则我会很抱歉,我不知道投票限制也适用于自己的问题。