小编gol*_*gle的帖子

每次SQL Server表更改时,如何让Windows窗体客户端更新?

我有一个表单,其中显示了来自数据库的信息.我希望每次数据库中的某些更改时,列表都会实时更新(或几乎是实时更新).这是我能想到的三种方法来实现这一目标:

  • 在客户端设置一个计时器,每隔几秒检查一次:我现在知道如何执行此操作,但它将涉及每小时数百次创建和关闭与数据库的新连接,无论是否有任何更改
  • 构建类似于TCP/IP聊天服务器的东西,每次程序更新数据库时,它也会向TCP/IP服务器发送一条消息,然后TCP/IP服务器会向客户端的表单发送消息:我不知道如何现在这样做
  • 创建一个Web服务,返回上次更改表的日期和时间,客户端将该时间与客户端上次更新的时间进行比较:我可以弄清楚如何构建Web服务,但我不知道无论如何,如何在不连接数据库的情况下执行此操作

第二种选择似乎不太可靠,第一种选择似乎会消耗超过必要的资源.是否有一些方法可以告诉客户端每次数据库发生更改而不是每隔几秒钟建立一次连接,或者与数据库建立多少连接并不是一件大事?

.net c# sql-server

5
推荐指数
1
解决办法
2386
查看次数

如何随机播放List <T>

我在维基百科上发现了一段Java代码,它应该将数组调整到位:

public static void shuffle (int[] array)
{
    Random rng = new Random();
    int n = array.length;
    while (n > 1) 
    {
        n--;  
        int k = rng.nextInt(n + 1);
        int tmp = array[k];
        array[k] = array[n];
        array[n] = tmp;
    } 
}
Run Code Online (Sandbox Code Playgroud)

虽然我没有测试代码,但它看起来应该可以正常使用数组.在我的C#项目中,我创建了一个CardSet类,并在Shuffle()方法中使用了上面的代码:

public class CardSet
{
    private List<Card> cards;

    public Card this[int i]
    {
        get {  return cards[i];  }
        set {  cards[i] = value;  }
    }

    public void Shuffle()
    {
        Random rng = new …
Run Code Online (Sandbox Code Playgroud)

.net c# generics

1
推荐指数
1
解决办法
4154
查看次数

标签 统计

.net ×2

c# ×2

generics ×1

sql-server ×1