C# winform 程序 如果实现监听数据库的某张表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform 程序 如果实现监听数据库的某张表相关的知识,希望对你有一定的参考价值。

参考技术A 第一种方案:利用SqlDependency类,不过这个刚好是针对你2005的,你可以考虑尝试使用这个才实现监听数据库变化。
第二种方案:自己手工添加触发器来进行实现监听功能。
第三种方案:数据表轮询,不过个人是不建议你用此方法,太耗资源了一点。

C# WinForm程序,ComboBox的问题

我向数据库插入几条数据,用ComboBox获取每条数据的ID,ID号使用标识自增,但是这样的话假如我删除其中某条数据,这个ID号就会消失了:例如:1、2、3,删除第二条数据后再插入一条,就会变成1、3、4了。怎样解决这个问题?
现在我用一个变量给ComboBox赋值,运行后可以解决断号的问题,但是这样子的话在ComboBox选出来的值跟数据库里的数据时没有关联的,我想问的就是怎么将ComboBox的值跟数据关联起来。这样我才能实现,选择ComboBox里的某一个值,然后删除对应的数据

combox是可以绑定两个列的,通常是显示的值(text),和选定的值(selectedValue)
例如:显示的值 绑定到表中的 name列,而 选定的值绑定到 id 主键列。
这样,用户在界面上选择了combox中的某项后,可以通过 combox.SelectedValue 取得id值,然后就可以更新和删除了
主要代码请参阅如下:
combox1.DataSource = dataSet1.Tables(0); //该表中有 name列和 id列
combox1.DisplayMember = "name"; //name列用于显示
combox1.ValueMembeer = "id";//值成员绑定到 id 主键列
参考技术A 很简单 你可以不用获取ID了 直接获取ComboBox.SelectedIndex+1就可以了追问

我试了一下你说的,但是运行后ComboBox的值全是0
cbID.Items.Add(cbID.SelectedIndex+1);
是不是我这个用的不对啊??

追答

是这样的 是通过cbID.SelectionChanged 选择改变时 SelectedIndex也随着改变 这样同样可以通过序号删除规定行啊

参考技术B 你需要一次更新操作,每次更新操作完成之后,你再重新制定以下你的combobox的datasource就行了。

以上是关于C# winform 程序 如果实现监听数据库的某张表的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform 多线程 SOCKET 文件上传,下载

c#的winform打印程序如何实现一张纸上打印两份内容(如图)

C# winform程序,怎么实现菜单的功能

C#开发的winform程序,窗体打开的速度很慢,请高手指点。。谢了先。。。

c# 监听浏览器(包括火狐,ie等任何浏览器)打开url地址,监听啥时候打开和关闭???

c# winform 中如何写事件监听 比如监听listview.items.count是不是发生变化