[.net2003]SQLのデータを纏めてDataGridのセルに〜
- 題名: [.net2003]SQLのデータを纏めてDataGridのセルに〜
- 著者: あおぞら
- 日時: 2006/02/08 18:37:57
- ID: 14941
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: [.net2003]SQLのデータを纏めてDataGridのセルに〜
- 著者: なおこ(・∀・)
- 日時: 2006/02/09 2:26:07
- ID: 14950
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: [.net2003]SQLのデータを纏めてDataGridのセルに〜
- 著者: あおぞら
- 日時: 2006/02/09 15:18:42
- ID: 14960
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: [.net2003]SQLのデータを纏めてDataGridのセルに〜
- 著者: あおぞら
- 日時: 2006/02/09 15:45:55
- ID: 14962
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: [.net2003]SQLのデータを纏めてDataGridのセルに〜
- 著者: こど。
- 日時: 2006/02/10 19:50:44
- ID: 14978
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: [.net2003]SQLのデータを纏めてDataGridのセルに〜
- 著者: あおぞら
- 日時: 2006/02/11 14:07:24
- ID: 14982
- この記事の返信元:
- この記事への返信:
- ツリーを表示
お世話になります。 データベースから書類作成日と書類作成番号を取得するプログラムを作っています。 MySQL上では日付は 年 月 日 というふうにデータを分けてあるのですが、 プログラムではDataGridに書き出すときは年月日を纏めてひとつのセルに 書き出さないといけません。 さらに1〜9月、1〜9日のように1桁のところには0を詰めないといけません。 作成年月日も3つに分かれたデータを1つのセルに纏めて書き出さないといけません。 そこでこのような実装をしたのですが・・・2800件オーダーで20秒かかります。 100件程度で1秒強、1000件で7秒です。 ちょっと遅すぎるのでもう少し早くしたいのですがいい方法はないでしょうか? よろしくお願いします。 (dr2にSQLを発行して取得したデータを入れてそれを引数に取って処理しています) Private Sub DataInsertForGrid(ByVal dr2) Dim MitumoriConnect1st As String Dim MitumoriConnect2nd As String Dim MitumoriConnect3rd As String Dim FullMitu As String Dim SakuseiConnectNen As String Dim SakuseiConnectTuki As String Dim SakuseiConnectHi As String Dim FullSaku As String Do While dr2.Read = True DataTable1.Rows.Add(DataTable1.NewRow()) Dim WritePointer As Integer = 0 For WritePointer = 0 To MaxKensakucol Select Case WritePointer Case 0 REM 見積番号1 MitumoriConnect1st = dr2(0) Case 1 REM 見積番号2 MitumoriConnect2nd = dr2(1) Case 2 REM 見積番号3 MitumoriConnect3rd = dr2(2) REM ここで見積番号1〜3を合体させて FullMitu = CStr(MitumoriConnect1st) & "-" & CStr(MitumoriConnect2nd) & "-" & CStr(MitumoriConnect3rd) DataGrid1.Item(RowMakeCounter, 0) = FullMitu Case 3 REM 社名 DataGrid1.Item(RowMakeCounter, 1) = dr2(3) Case 4 REM 年 SakuseiConnectNen = dr2(4) Case 5 REM 月 SakuseiConnectTuki = dr2(5) If SakuseiConnectTuki.Length = 1 Then SakuseiConnectTuki = "0" & SakuseiConnectTuki End If Case 6 REM 日 SakuseiConnectHi = dr2(6) If SakuseiConnectHi.Length = 1 Then SakuseiConnectHi = "0" & SakuseiConnectHi End If REM ここで年月日を合体させて FullMitu = CStr(SakuseiConnectNen) & "-" & CStr(SakuseiConnectTuki) & "-" & CStr(SakuseiConnectHi) DataGrid1.Item(RowMakeCounter, 2) = FullMitu End Select Next RowMakeCounter += 1 Loop End Sub