当前位置:编程学习 > C#/ASP.NET >>

求助C#多数据库操作

本人新手,请多指教!
    经常需要连接多个数据库查询业务数据,各个数据库中的表结构都是一致的,经常需要用同一条查询在10多个数据库中查询,目前的做法是通个循环访问数据库查询,然后将结果汇总到datatable中。
想考虑采用多线程的方式来实现同时多个数据库查询,以提高效率。
本人不熟悉多线程,请各位高人指点,最好能有个例子,谢谢! 数据库 多线程 --------------------编程问答-------------------- 可以开10多个线程运行,单个开例:
Thread tsAccept = new Thread(myAccept);
tsAccept.IsBackground = true;
tsAccept.Start();

private void myAccept()
{

}
注意的是同步和委托工作 --------------------编程问答-------------------- 补充一下,数据库用的是sybase,数据库的连接参数是存在xml文件中,在连接时需要将地址、端口、数据库名、用户名和密码等参数传入到程序中,在线程中如何将多个参数会传入?谢谢! --------------------编程问答-------------------- 将线程执行的方法和参数都封装到一个类里面。通过实例化该类,方法就可以调用属性来实现间接的类型安全地传递参数。例:
//ThreadWithState 类里包含了将要执行的任务以及执行任务的方法
public class ThreadWithState {
    //要用到的属性,也就是我们要传递的参数
    private string boilerplate;
    private int value;

    //包含参数的构造函数
    public ThreadWithState(string text, int number) 
    {
        boilerplate = text;
        value = number;
    }

    //要丢给线程执行的方法,本处无返回类型就是为了能让ThreadStart来调用
    public void ThreadProc() 
    {
        //这里就是要执行的任务,本处只显示一下传入的参数
         Console.WriteLine(boilerplate, value); 
    }
}

//用来调用上面方法的类,是本例执行的入口
public class Example {
    public static void Main() 
    {
        //实例化ThreadWithState类,为线程提供参数
        ThreadWithState tws = new ThreadWithState(
            "This report displays the number {0}.", 42);

        // 创建执行任务的线程,并执行
        Thread t = new Thread(new ThreadStart(tws.ThreadProc));
        t.Start();
        Console.WriteLine("Main thread does some work, then waits.");
        t.Join();
        Console.WriteLine(
            "Independent task has completed; main thread ends.");  
    }
}
--------------------编程问答-------------------- 具体问题具体分析,如果你的SQL数据库在不同的机器上,可以采用楼上的办法,如果是本机的数据库,那就一个字 等
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,