iT邦幫忙

0

C# 不同DB撈出來的資料要如何串接下去

c#
  • 分享至 

  • xImage
                    for( int i=0;i<people.Length;i++)
                    { 
                        switch(people[i].ToLower())
                        {
                            case "onepeople":
                                {
                                    var dbconn = ConfigurationManager.ConnectionStrings["DBConnect_onepeople"].ConnectionString;

                                    if (string.IsNullOrEmpty(dbconn))
                                        throw new Exception("Need DB Connect Information");

                                    using (SqlConnection connection = new SqlConnection(dbconn))
                                    {
                                        var log = new LOG_onepeople_Func(connection, null, null);
                                        var qq = log.Queryonepeople(req.requestdata);
										
                                        response.responsecode = 0;
                                        response.responsemsg = "Ok";
                                        response.responsedata = qq.ToArray();
                                    }
                                }
                                break;
                            case "twopeople":
                                {
                                    var dbconn = ConfigurationManager.ConnectionStrings["DBConnect_twopeople"].ConnectionString;

                                    if (string.IsNullOrEmpty(dbconn))
                                        throw new Exception("Need DB Connect Information");
                                    using (SqlConnection connection = new SqlConnection(dbconn))
                                    {
                                        var log = new LOG_twopeople_Func(connection, null, null);
                                        var qq = log.Querytwopeople(req.requestdata);

                                        response.responsecode = 0;
                                        response.responsemsg = "Ok";
                                        response.responsedata = qq.ToArray();
                                    }
                                }
                                break;
                            case "threepeople":
							........

https://ithelp.ithome.com.tw/upload/images/20191214/20121723cBylUv0243.png

https://ithelp.ithome.com.tw/upload/images/20191214/2012172307S4pClUMC.png

每個qq會獲得 case table那樣的資料 最後輸出結果能串接往下 ?
array 也可以有使用array add但因為要使用for,但最好不要for的寫法
各位大神有建議嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
小魚
iT邦大師 1 級 ‧ 2019-12-14 14:52:59

所以你是用Entity還是用SQL語法下去抓資料?

1
PPTaiwan
iT邦好手 1 級 ‧ 2019-12-16 11:31:18

方法非常多,假設您每一個 SQL SERVER 都是要抓到相同的值。

那您可以針對相同的 "抓取語法" 寫成「預存程序」並以 JSON 的方式來進行導出查詢過的資料,那你的 C# 就可以很簡單去呼叫「執行預存程序,或是直接跨資料庫來取得資料」,那程式就可以很簡潔。那你抓到的 JSON 組合起來也不用透過迴圈來處理,當然這些 JSON 看你之後要用什麼程序再來導入,像是 LINQ 等等...

通常我都是建議「資料」能夠直接在「SQL Server 直接解決其運算就盡量處理」,別下一堆 TSQL 語法在 C# 再用 Entity Connection To SQL 取得資料。

如果以我建議的,可能你的 C# 不超過 5~10 行...

我要發表回答

立即登入回答