C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■2308  Re[5]: Oracle10g コネクションプーリングについて
□投稿者/ はつね -(2007/03/31(Sat) 06:59:32)
>
    No2298 (へっぽこPG さん) に返信
    > 以前、servletとJSPでコネクションプーリングを使ったシステムを作った人にどういうものかと聞いたことがあって、
    > そのときにTomcatを起動したときにmain関数を読み込み、そこでコネクションプーリングするように書いている
    > 聞いていたので、ASP.NETもなにか起動時に読み込ませる設定があるのではないかと思って探しているのですが。

    探すのならば、公式マニュアルなどをみて設定方法を調べるのが、最初の1歩だと思います。
    他の製品やバージョンの情報を足がかりにするのは良いですが、そこに気持ちが囚われすぎてはいけません。


    > それからproviderNameは
    > <add
    > name="test"
    > connectionString="User ID=testuser;Password=testpass;Data Source=orcl;Pooling=true;Connection TimeOut=1800;
    > Max Pool Size=10;Validate Connection=true"
    > providerName="System.Data.OracleClient"
    > />
    > と記述するのですが。
    > SQL ServerをつなげるときはproviderNameの設定がいるみたいですが、oracleにもいるのかどうかがわからなかったので。

    同じaddの中にproviderNameを記載していたのですね。「記載してるところもあります」の表現で、この記載状態を想像するのは無理でした。
    とりあえず言えることは、先ほどのJSPとかのときもいえますが、「分からないからとりあえず書いてみた」ではなく「分からないから調べてみた」が必要なのではないかと感じました。わからない状態で書いただけで一見正常に動いているように見えたとしても、分からないものが正常動作しているとどうして分かるのか不思議ですよね。調べるという行為は、分からない→分かるの過程で絶対どこかで必要なものです。

    さて、今回の件ですが、最初に記載したように次の疑問が生じます。
    |どんな感じで動いているからプーリングしていないと判断しているのでしょうか
    指定方法などを説明いても、他の製品と比較し「本当にそうなの?」との疑問が生じてしまうと思いますので、プーリングしていないと思ってしまう状況を説明していただき、それに対しての回答を得るようにした方が良いかと思います。
記事No.2248 のレス /過去ログ12より / 関連記事表示
削除チェック/

■66954  .NETで利用可能なcrypt関数
□投稿者/ ボジョ -(2013/06/11(Tue) 12:02:09)

    分類:[VB.NET/VB2005 以降] 

    Webサーバー(Apache)のcrypt関数(perl)で暗号化した文字を使って、.NET側(VB 2008)で認証を行いたいのですが、
    .NETにはperlのcrypt関数のようなメソッドは用意されているのでしょうか?
    もしあったとして、perlのcrypt関数と.NET側のそれとは整合性が取れているのでしょうか?
    DES・MD5どちらの方式でもいいです。
    perlばかりやっていたので、.NETの方はあまり知識がなく、とんちんかんな質問をするかもしれませんが、
    よろしくお願いします。
親記事 /過去ログ113より / 関連記事表示
削除チェック/

■88786  Re[5]: 大きな数値のcsvファイルへの書き込み
□投稿者/ 魔界の仮面弁士 -(2018/09/27(Thu) 12:44:29)
    No88784 (furu さん) に返信
    > Excelが見やすいように機能としてEの表記にしているだけで
    > 内部のデータは桁落ちしていません。

    Excel も、やはり 15 桁程度で桁落ちします。たとえば、
    12345678901234567890 と書いたとしても、
    12345678901234500000 に丸められたりします。

    ※内部データが倍精度浮動小数点数(計算式では一部多倍長浮動小数点数)らしいです。


    その他の数値型の有効桁数

    16bit 整数型… 約 4.81647993062 桁 (Int16/UInt16)
    32bit 整数型… 約 9.63295986125 桁 (Int32/UInt32)
    64bit 整数型… 約 19.2659197225 桁 (Int64/UInt64)
    Decimal 型…… 約 28.8988795837 桁 (96bit に相当)



    *.csv をダブルクリックして Excel を関連付け起動するのではなく、
    Excel の[データ]-[外部データ取り込み]-[テキストファイル]で読み取り、
    ウィザード内で列のデータ形式を「G/標準」から「文字列」に変更しておくことで、
    元のデータを維持して表示することができます。
    (その代わり、数値として扱える有効桁数が変わるわけでは無いですが)


    *.csv をダブルクリックしたときに、Excel で表示されることを優先するなら
     sr.WriteLine("=""12345678901234567890""")
    のようにするという手もあります。
    CSV データとして扱うには都合が悪くなるので、実用的では無いですが。
記事No.88771 のレス / END /過去ログ153より / 関連記事表示
削除チェック/

■91972  Re[2]: コンボボックスによる絞り込み
□投稿者/ たかし -(2019/08/15(Thu) 15:44:43)
    No91945 (魔界の仮面弁士 さん) に返信
    > ■No91943 (たかし さん) に返信
    >>の2つのテーブルがありフォーム上にはComboBox1ととComboBox2があります。
    > 
    > Windows Forms アプリケーションを作成していて、
    > tbl_部署というのは DataTable の事で良いでしょうか。
    > 
    > 言語指定が無かったですが、comboBox1 ではなく ComboBox1 と書かれていたので、
    > とりあえず Visual Basic と仮定して書いてみます。
    > 
    > 
    > Public Class Form1
    >   Private ds As DataSet
    >   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    >     ds = CreateSample()
    > 
    >     ds.Relations.Add("rel_部署_社員",
    >              ds.Tables("tbl_部署").Columns("部署コード"),
    >              ds.Tables("tbl_社員").Columns("部署コード"))
    > 
    >     Me.BindingSource1.DataSource = ds
    >     Me.BindingSource1.DataMember = "tbl_部署"
    > 
    >     Me.BindingSource2.DataSource = Me.BindingSource1
    >     Me.BindingSource2.DataMember = "rel_部署_社員"
    > 
    >     ComboBox1.DataSource = Me.BindingSource1
    >     ComboBox1.ValueMember = "部署コード"
    >     ComboBox1.DisplayMember = "部署名"
    >     ComboBox2.DataSource = Me.BindingSource2
    >     ComboBox2.ValueMember = "社員コード"
    >     ComboBox2.DisplayMember = "社員名"
    >   End Sub
    > 
    >   Private Function CreateSample() As DataSet
    >     Dim ds As New DataSet("Sample") With {.CaseSensitive = True}
    >     Dim tbl1 As DataTable = ds.Tables.Add("tbl_部署")
    >     Dim tbl2 As DataTable = ds.Tables.Add("tbl_社員")
    > 
    >     tbl1.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = False
    >     tbl1.Columns.Add("部署名", GetType(String)).AllowDBNull = False
    >     tbl1.PrimaryKey = New DataColumn() {tbl1.Columns("部署コード")}
    > 
    >     tbl2.Columns.Add("社員コード", GetType(String)).AllowDBNull = False
    >     tbl2.Columns.Add("社員名", GetType(String)).AllowDBNull = False
    >     tbl2.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = True
    >     tbl2.PrimaryKey = New DataColumn() {tbl2.Columns("社員コード")}
    > 
    >     tbl1.Rows.Add(10000D, "総務部")
    >     tbl1.Rows.Add(10020D, "総務部総務課")
    >     tbl1.Rows.Add(12000D, "営業部")
    >     tbl1.Rows.Add(12010D, "営業部営業一課")
    > 
    >     tbl2.Rows.Add("AX0020", "金田 一太郎", 10000D)
    >     tbl2.Rows.Add("BY0112", "今西 欣治", 10020D)
    >     tbl2.Rows.Add("DX0987", "有馬 貴臣", 10020D)
    >     tbl2.Rows.Add("DX1024", "山口 六平太", 10020D)
    >     tbl2.Rows.Add("PN0132", "緒方 賢太", 12000D)
    >     tbl2.Rows.Add("PC1024", "片岡 孝夫", 12010D)
    >     tbl2.Rows.Add("PC2048", "久米 広明", 12010D)
    > 
    >     ds.AcceptChanges()
    >     Return ds
    >   End Function
    > End Class
    
    
    魔界の仮面弁士さま、お世話になります。
    ご返事が遅くなり申し訳ありません。
    先日お忙しい中、わざわざご提示いただいたコードにて絞り込み検索はできました。
    どうもありがとうございます。
    
    申し訳ないのですが、もう少し質問をさせてください。
    実は弊社の従業員は650人程おりまして部署の数も十数ほどあります。
    退職者や新入社員、また部署の異動なども頻繁に行なわれます。
    このようなことに対応するために、コード内の追加ではなく、
    ListRow(VBにはないようですが)を、テーブルあるいはビューから持ってくることは出来ないものでしょうか?
    ストアドプロシージャも試しましたが、WindowsFormからのパラメータ操作の仕方が難しすぎて分かりません。
    何よりExcelやAccessでは簡単に実現出来るこれらの機能の説明が、
    そもそもVB.NETではウェブのどこを探しても出てきません(私の探し方が悪いのかもしれませんが)。
    そのようなわけでもしかしてこれは不可能なのではと思い始めています。
    
    実はDataGridViewで目的に近いものが作成できることが分かったところなのですが、
    当初の目論見通りふたつのComboBoxだけで実行する方法が何とも諦めきれません。
    どうかもう少しお知恵をお借りできないでしょうか?
    よろしくお願いいたします。たかし
    
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91974  Re[3]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/08/15(Thu) 16:48:42)
    No91972 (たかし さん) に返信

    最初の質問に書いてあった tbl_部署, tbl_社員 は SQL Server などのデータベースにある
    テーブルで、それからデータを取得して連動 ComboBox に表示したいと言ってます?
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91973  Re[3]: コンボボックスによる絞り込み
□投稿者/ 魔界の仮面弁士 -(2019/08/15(Thu) 16:45:22)
    No91972 (たかし さん) に返信
    > ListRow(VBにはないようですが)を、テーブルあるいはビューから持ってくることは出来ないものでしょうか?

    それでも良いですよ。

    DataTable に格納するデータは、手動で登録したデータだけではなく、
    DataAdapter 等を用いて、データベースに問い合わせて取得したデータでも構いません。

    VB にとってみれば、DataTable にデータが保持されているという点が重要なのであって、
    その元データがどこから来たものであるのかは、特に問われません。



    > 実は弊社の従業員は650人程おりまして部署の数も十数ほどあります。

    それは在籍者の人数でしょうか。
    ComboBox に全部署の人数を表示するとなると、探すだけでも手間なので、
    部署で絞り込んでから表示できた方が良いのでしょうね。


    で…退職者も含めるとすると、データ件数としては数千件規模でしょうか?
    その程度なら、DataTable に全件ロードしておいても問題無いと思います。
    画面上に全部を表示することはなく、その中の一部だけが絞り込まれるのであれば。


    > 退職者や新入社員、また部署の異動なども頻繁に行なわれます。

    退職者(過去データ)や入社予定者(未来データ)も出力するとしたら、
    部署の統合・分割・廃止・名称変更については、どのように表現されるのでしょうか?


    > ストアドプロシージャも試しましたが、WindowsFormからのパラメータ操作の仕方が難しすぎて分かりません。
    どのデータベース製品を使っていて、どういうストアドを作ってみたのかが分からないので、
    具体的なサンプルは提示できません。(^^;



    それと、データベースからデータを取得する際の「タイミング」と「取得範囲」も考えておきましょう。

    【タイミング】
    Form_Load 時?
    Button_Click 時?
    ComboBox_SelectedIndexChanged 時?

    【取得範囲】
    在籍している全社員を問い合わせる?
    退職者や未来入社も含めた全社員を問い合わせる?
    指定した部署の社員のみで良い?


    (案1) Load 時に、部署と社員情報を、すべてを事前に読み取っておく。
     結果としては No91945 とほぼ同じ処理になる。

    (案2) Load 時には部署だけ読み取っておき、ComboBox1 を操作するたびに、
     ComboBox2 用の社員データを、毎回データベースに問い合わせるようにする。

    (案3) 案2 に近いが、毎回データベースに問い合わせるのではなく、
     一度読み取った部署のデータは、前回の取得結果を使うようにする。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91989  Re[5]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/08/16(Fri) 10:15:34)
    No91988 (たかし さん) に返信

    最終的にどうしたいのですか? No91972 に書いてあった、

    > 実はDataGridViewで目的に近いものが作成できることが分かったところなのですが、
    > 当初の目論見通りふたつのComboBoxだけで実行する方法が何とも諦めきれません。

    というところから想像すると、最終的にやりたいことは部署を ComboBox から選択すると、
    その部署に属する社員のデータ一覧が DataGridView に表示されるということではないか
    と思ってますが?

    であれば、最初の質問の ComboBox 2つでの実装を追求するより、上記のことを考えた方
    がよさそうだと思うのですが。

    あと、No91973 で魔界の仮面弁士さんからも質問されていますが、事前に SQL Server から
    全ての情報を DataTable に読み取ってからそれを操作するのか、操作の都度 SQL Server
    からデータを DataTable に読み取ってから操作したいのか、それともその間を取って
    部署の方は前者で社員の方は後者としたいのですか?
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92019  Re[10]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/08/18(Sun) 10:22:39)
    No92018 (たかし さん) に返信

    とりあえず一番肝心だと自分が思う点をレスします。その他は別途。

    > No91989
    > >あと、No91973 で魔界の仮面弁士さんからも質問されていますが、事前に SQL Server から
    > >全ての情報を DataTable に読み取ってからそれを操作するのか、操作の都度 SQL Server
    > >からデータを DataTable に読み取ってから操作したいのか、それともその間を取って
    > >部署の方は前者で社員の方は後者としたいのですか?
    >
    > これは具体的に言うとどのようなことを指しているのでしょうか?
    > もう少し詳しくお教え願えないでしょうか?

    分からなかったら話を先に進める前に聞きましょう。でないと、話が噛み合わなくなります。

    DataSet / DataTable は SQL Server データベース(SQL Server に限りませんが)のテーブル
    を PC のメモリ上に取得してきて、いちいち DB にアクセスしなくてもプログラムで操作して
    テーブルの内容の一覧の表示、編集・更新ができるようにするためのです。

    詳しくは以下の記事の「非接続型データアクセスの動作とそのアドバンテージ」のセクション
    を見てください。とりあえず「図1」と「図2」だけでも見ればどのように使うことを目的と
    しているかが分かると思います。

    DB 設計者のための明解 ADO.NET 第 1 回
    https://docs.microsoft.com/ja-jp/previous-versions/cc482903(v=msdn.10)

    まず、上記のことを理解してください。

    で、上記質問に対する答えですが、質問者さんのレス No91972 に書いてあった、

    > 退職者や新入社員、また部署の異動なども頻繁に行なわれます。

    が、その頻度によってどのようにするかが変わってくるということです。

    (1) 事前に SQL Server から全ての情報を DataTable に読み取ってからそれを操作
    (2) 操作の都度 SQL Server からデータを DataTable に読み取ってから操作
    (3) その間を取って部署の方は前者で社員の方は後者

    例えば、四半期に 1 回程度の頻度であれば (1) で十分そうです。5 秒に 1 回とか
    ですと (2) でないとダメそうです。部署テーブルは四半期に 1 回程度だが社員テー
    ブルは社員テーブルは 10 分に 1 回とかですと (3) がよさそうということになります。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -