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

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

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

全過去ログを検索

<< 0 >>
■3901  Re[1]: Accessからデータを取り込む
□投稿者/ 中博俊 -(2006/05/25(Thu) 14:23:10)
>

    分類:[VB.NET] 

    どうしても動かないゴールはどこにありますか?
    なにがゴールと違いますか?
    えらーですか?
    例外ですか?
    メッセージは?

    # タイトルがわかりにくいので修正しました。
記事No.3899 のレス /0過去ログ4より / 関連記事表示
削除チェック/

■8693  Re[1]: Excelのプロセスが一つだけ残ってしまいます
□投稿者/ じゃんぬねっと -(2007/10/07(Sun) 00:47:49)
    ちょっと誤解をしているように見受けられます。
    まずはひととまりこちらをご覧ください。
    http://jeanne.wankuma.com/tips/programing/releasecom.html

    これを見てなにがダメなのかわからない場合はまたその旨を書き込んでください。
    一言申し上げますと GC は今回の事情とは直接関係しません。
    参照カウントがすべてです。
記事No.8685 のレス /過去ログ20より / 関連記事表示
削除チェック/

■12894  Re[2]: 学校の課題でC++のクラスについての問題
□投稿者/ も -(2008/01/20(Sun) 13:54:43)
記事No.12891 のレス /過去ログ28より / 関連記事表示
削除チェック/

■51537  Re[1]: MicrosoftReportのデザインについて
□投稿者/ なし -(2010/07/08(Thu) 14:28:58)
    No51518 (ぽなこ さん) に返信

    こんにちは。

    TableRowのBackgroundColorプロパティに次の式を設定すればいいと思ったんですが、
    色は変わりませんでした。
    Windowsフォーム側だとこれでいけるんですけど。

    =IIf(RowNumber(Nothing) Mod 2 = 0, "Transparent", "LightGray")

    仕方がないので以下のようにしたら動作しました。
    お試しください。

    1. 現在の明細行と同じ内容を出力する行を追加する。
    2. 片方のBackgroundColorは既定のTransparent、もう片方はLightGreyなどにする。
    3. 片方のVisibilityのHidden の式を "=RowNumber(Nothing) Mod 2 = 0"
    もう片方の式を "=RowNumber(Nothing) Mod 2 <> 0" にする。
記事No.51518 のレス /過去ログ86より / 関連記事表示
削除チェック/

■85669  フィールド名の値について
□投稿者/ ピカチュウ -(2017/11/13(Mon) 23:13:24)

    分類:[C#] 

    C# VS2017 Windows7

    入力した情報をDBを通して登録(Insert)するコードを作っています。

    本題ですが、初めのloadイベント(確認)はコネクションの情報(接続文字列)が反映されています。
    次はボタンイベント(登録)では、接続文字列の情報が反映されていませんでした。

    切断するときにDisposeしたので初期化されたので当然ですが、初期化されても、ボタンイベントはloadイベントも同じフィールド名から値を格納しているのかなと思いました。
    フィールドの宣言で、一度しか情報が反映されないのでしょうか?

    接続文字列はインスタンス共通なので、staticにしました
    usingにすれば簡単に解決できるが、接続と切断のメソッドを分けているのは、form1のInsertループがあるので、何回も接続・切断ではサーバーが負担になるので避けています。
    また、切断はClose()のみにすれば接続文字列は保持したまま通りますが、Disposeしないと問題はありますか?
    登録する時間はバラバラですが、1分間に何回も登録連続したり、間をおいて(10分ぐらい?)、1分間に何回も登録、繰り返しの流れです。

    SQL_ClassはSQL用と接続文字列などのDB関係をまとめて書き込んでいます。
    ほかのクラスでは書き込んではいないです。

    どうすれば、インスタンス共通で、loadイベントとボタンイベントでconnectionの値を反映するのでしょうか?
    ご教示の程よろしくお願いします。

    class SQL_Class
    {
      //接続文字列情報 
    private static OracleConnection connection = new OracleConnection(GetConnection());

      //DB接続
    public static bool isDB_Open()
    {
    try
    {
    if(connection.State == ConnectionState.Closed)
    {
    connection.Open();
    }
    return true;
    }
    catch(Exception ex)
    {
    DB_Close();
    return false;
    }
    }

    //DB切断
    public static void DB_Close()
    {
    try
    {
    connection.Close();
    connection.Dispose();
    }
    catch(Exception ex)
    {

    }
    }
    }


    //form1
    private void Form1_Load(opject sender, EventArgs e)
    { 
        //接続確認
    if(SQL_Class.isDB_Open())
    {
    this.lableMessage.Text = "接続は成功しました"
        }
    else
    {
    this.lableMessage.Text = "接続は失敗しました"
        }

        //切断
    SQL_Class.DB_Close();
    }

    //ボタン
    private void Form1_button1(opject sender, EventArgs e)
    {
    //接続
    if(SQL_Class.isDB_Open() == false)
    {
    this.lableMessage.Text = "接続は失敗しました"
    return;
        }
        
        //いろいろな処理
    //ここでループしながらDBで追加(Insert)している

        //切断
        SQL_Class.DB_Close(); 
      }
親記事 /過去ログ146より / 関連記事表示
削除チェック/

■85670  Re[1]: フィールド名の値について
□投稿者/ しま -(2017/11/14(Tue) 00:09:03)
    No85669 (ピカチュウ さん) に返信
    > C# VS2017 Windows7
    >
    > 入力した情報をDBを通して登録(Insert)するコードを作っています。
    >
    > 本題ですが、初めのloadイベント(確認)はコネクションの情報(接続文字列)が反映されています。
    > 次はボタンイベント(登録)では、接続文字列の情報が反映されていませんでした。
    >

    設計がよろしくありません(あなたが使いたい様な動きが出来るように設計できていないという意味です)

    static な SQL_Class.connection が SQL_Clas.Close() で Dispose(); してしまうのでは SQL_Class の本体である SQL_Class.connection オブジェクトは生きている
    のに、SQL_Class.connection が保持しているDBとの接続はいなくなっている状態を作り出していて上手く扱えなくなっているところが問題のようですが、
    この SQL_Class.connetion を Dispose() するメソッドを別途追加して本当に不要になったときに SQL_Class.connection.Dispose(); が実行できれば良いだけ
    かもしれません

    そもそも SQL_Class を static なメンバーだけで構成する設計がよろしいかどうかも検討してみてください
    (いいとか悪いとかは言っていません、違う設計もあるでしょうということです)
    connection がある状態と(new した後から Dispose(); するまでの間)ない状態と(Dispose(); した後)が存在するのだから
    オブジェクト(=クラスのインスタンス)を生成した方が判りやすいかも知れません
    そして、インスタンスを Dispose() するときに connection を Dispose() するということも出来るのではないでしょうか?

    あと、ソースコードにインデントがないので見づらいことにお気付きですか?
    次回からソースコードを含む場合は、投稿モードを"図表モード"で投稿してください
記事No.85669 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85673  Re[1]: フィールド名の値について
□投稿者/ WebSurfer -(2017/11/14(Tue) 09:57:41)
    No85669 (ピカチュウ さん) に返信

    何を作っているかと、DB のことを質問しているのですからその DB とプロバイダは何か
    とそのバージョンぐらいは書きましょう。

    コードを読めばわかるとは言わないでくださいね。質問者さんが最初に一行書けばすむ
    ことなのですから。

    書けば、興味のある人は深く読んでくれるかもしれませんし、興味の無い人には時間の
    節約になります。

    ・・・と注文を付けるばかりでは何ですので、

    > 何回も接続・切断ではサーバーが負担になるので避けています。

    プロバイダに ODP.NET を使っているとすると接続プールが利用できると思います。その
    場合、Open / Close は接続プールからの接続の借り出し / 返却となります。

    接続プールを使っていれば、使う直前に Open して、使い終わったら即 Close して問題
    ない・・・と言うか、そういう使い方が基本になるはずです。

    > 切断はClose()のみにすれば接続文字列は保持したまま通りますが、Disposeしないと問題はありますか?

    Connection の Dispose は Close と同じです。

    なので、using 句等を使って、使い終わったら、コネクションリークの問題を避けるため
    にも、即&必ず Dispose するべきだと思います。


    そのあたりのことは、SQL Server + SqlClient の話ですが、以下の記事(特に Part 2)
    が参考になると思いますので一読してみてください。

    .NETの例外処理 Part.1
    https://blogs.msdn.microsoft.com/nakama/2008/12/29/net-part-1/

    .NETの例外処理 Part.2
    https://blogs.msdn.microsoft.com/nakama/2009/01/02/net-part-2/
記事No.85669 のレス /過去ログ146より / 関連記事表示
削除チェック/

■101564  Re[1]: コンソールアプリケーションでexeを発行する方法
□投稿者/ 魔界の仮面弁士 -(2023/03/15(Wed) 14:04:51)
    2023/03/15(Wed) 14:05:44 編集(投稿者)

    No101562 (SH さん) に返信
    > VisualStudio 2022を用いてコンソールアプリケーション(.netFramework)を作成したのですが、
    > コンソールアプリケーション(.netFramework版)でexeファイルを発行する方法はございますでしょうか?

    ん? コンソール アプリをコンパイルすれば、自動的に .exe ができますよね?

    今時、.NET Framework がインストールされていない Windows も稀ですし、
    バージョンさえ気を付けていれば、いわゆる「XCOPY 配布」だけで動くはず。


    > 発行を行ったところ、.Applicationファイルができたのですが、要件として.exeで実行できる必要があり困っています。
    ファイルをサーバーから配置する場合、.exe 拡張子のままだとダウンロード時にブロックされてしまう可能性があるため、
    ConsoleApp1.exe.deploy という二重拡張子で配置する設計になっていますが、実際にインストールされるのは
    .exe.deploy ではなく、元の .exe なファイル名です。
    .application 拡張子は、それらのファイル群の取りまとめをしているだけです。


    MageUI.exe ツールもしくは ClickOnce 配置での「発行」を利用した場合、
    インストールされたアプリケーションは %LocalAppData%\Apps\2.0\ の配下に
    .exe 拡張子そのままで配置されます。なので、それを直接実行しても問題なく動きはするでしょう。

    なので、「発行」したとしても、.exe での実行ができなくなってしまうわけではありません。
    とはいえ ClickOnce 発行だと、どのパスにインストールされるのか確定できないので、
    今回のケースではあまり現実的な選択肢ではありません。

    ClickOnce 配置による「発行」を行うのではなく、
    自己解凍型 zip ファイルや、バッチファイルによる XCOPY 配置、あるいは
    Windows Installer による配布など、「ClickOnce 配置」以外の配布手段を採った方が良いでしょう。
    https://www.premium-tsubu-hero.net/visual-studio-create-installer/
記事No.101562 のレス /過去ログ177より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -