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

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

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

全過去ログを検索

<< 0 >>
■6080  Re[5]: Excel セルより読込
□投稿者/ C#初心者 -(2007/07/31(Tue) 18:02:39)
    みなさん、いろいろなアドバイス、ありがとうございます。

    Jittaさん
    > 初心者だからわからないのではなく、調べていないからわからない、でしょ。
    > 初心者って言葉は免罪符でも三つ葉葵の印でもありませんよ。
    安易に質問しているわけではなく、1ヶ月ぐらい悩んで、本もたくさん買ってきて勉強し、
    ネットでもいろいろなところを調べて、ここにたどり着いたのです。

    特攻隊長まるるうさん
    > 正直、こちらで発生しないので、原因が分からないのです。だから、条件を変えて
    > 原因につながりそうなエラーメッセージが出ないか?原因が特定できるような動きを
    > しないか?プロパティ値が取れないか?。。。調査をすべき段階です。
    私の知りたかったのは特攻隊長まるるうさんの解答でした。
    上記のコードでエラーが発生するのは私のパソコンだけ。
    私のパソコンの何かの設定がまずいのでしょう。
    視点を変えて研究してみます。
    ありがとうございました。

記事No.6004 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6511  Re[7]: 名前付きパラメータ
□投稿者/ 魔界の仮面弁士 -(2007/08/16(Thu) 18:09:35)
    > MDBファイルの場合、パラメータとして「?」を使用。
    > SQLServerの場合、パラメータとして「@xxxx」を使用。

    そのように覚えておいても構わないと思います。

    ただし実際には、DB の種類ではなく、使用するプロバイダによって
    パラメータの構文が決定されていますので、同じ DB に違うプロバイダで
    接続した場合には、別の SQL が要求されることもあります。


    > 「?」でパラメータになる・・・という事すら知りませんでした
    あぁ…一般的な方法も一緒に紹介しておけば良かったですね。すみません。
    ヘルプでいえば、たとえばこのあたりです。
    http://msdn2.microsoft.com/ja-jp/library/ms171905%28VS.80%29.aspx

    あと、プログラム実装の前に、チュートリアル等を一通り試しておくことをおすすめします。
    今回のパラメータ指定の話も触れられていますよ。
    http://msdn2.microsoft.com/ja-jp/library/hbsty6z7%28VS.80%29.aspx


    > ので、ここは「?」で行こうかと考えております。
    そうですね。mdb 用のコマンドをデザイナで作成する分には、『?』のプレースホルダを
    使う方が一般的ですし、その方が問題も起きにくいです。

    実際の動作では、mdb に対しては、元の SQL が名前付きであっても ? のプレースホルダであっても、
    OleDbParamter は『順序(序数)』を基準に割り当てられてしまい、『名前』は無視されてしまいますので。
    http://msdn2.microsoft.com/ja-jp/library/system.data.oledb.oledbparameter%28VS.80%29.aspx


    そもそも、mdb に対する DataAdapter の SQL にパラメータを指定する場合には、
     (1) ? プレースホルダを使用して、無名パラメータを指定する。
     (2) PARAMETERS 句を使用して、名前と型を指定する。
     (3) 任意名のパラメータ名を埋め込んで、自動変数として指定する。
    のいずれかを使うことができるようになっています。

    そして 先に紹介した(C#サンプルの)URL のように、DataAdapter をプログラムから
    指定するような場合は、(1),(2),(3)のいずれも使用できます。一応は。

    しかしながら、Visual Studio のクエリビルダがサポートしているのは(1)のみです。
    (ちなみに、Access のクエリビルダがサポートしているのは(2)と(3)です)

    そのため、Visual Studio のデザイナから TableAdapter を作るような場合は、
    (2)や(3)の構文だと、パラメータの自動解析が行われないという制限があります。

    ただし、ビルダ等がサポートしていない場合であっても、SQL そのものが有効であるならば、
    SelectCommand 等の Parameters プロパティを後から手動で割り当ててやることで、
    「WHERE (XXX = @param)」といった SQL に対しても、「データのプレビュー」を正常に機能させられます。

    手動でパラメータを追加する場合は、TableAdapter の SelectCommand プロパティを開き、
    Parameters プロパティ横の[...]を押して、手動でパラメータを追加指定すれば OK です。
    最低限指定するべき項目は、ProviderType (Integer や VarWChar など)の指定です。
    (このとき、DbType は、ProviderType に応じた型が自動的に指定されます)
記事No.6488 のレス /過去ログ17より / 関連記事表示
削除チェック/

■6512  Re[3]: デブロイメントプロジェクトの流用について
□投稿者/ IIJIMAS -(2007/08/16(Thu) 18:16:59)
    No6510 (zono さん) に返信
    > ちなみにUpgradeCodeプロパティを変更するとDetectNewerInstalledVersion プロパティと RemovePreviousVersions プロパティが
    > 正しく機能しなくなるとありますが、簡単にUpgradeCodeプロパティを変更していいのでしょうか?
    > UpgradeCodeプロパティは初期バージョンの時のみ設定すると記述されていたので・・・

    同じアプリのアップグレード版のインストーラ作成の場合は
    UpgradeCodeは変えずに
    ProductCode プロパティ
    http://msdn2.microsoft.com/ja-jp/library/aafz9hx4(VS.80).aspx
    を変更するようにということが記述されているのだと思います。
    WindowsInstallerは同じUpgradeCodeで違うProductCodeで前のバージョンあるかどうかを識別しているので。
    アップグレード版のインストーラ作成の場合はUpgradeCodeまで変えてしまうとまったく別のアプリケーションってことになってしまいます。
記事No.6507 のレス /過去ログ17より / 関連記事表示
削除チェック/

■7346  Re[2]: テキストボックスの色について
□投稿者/ アイン -(2007/09/04(Tue) 11:22:38)
    なっています。ですがEnabledはfalseにしておきたいので、
    Enabledをtrueにして、編集しようとしたときに警告などを発するようにするのは
    あまりよくないと思い、最終的にlabelで解決しました。

    ありがとうございました。

    No7323 (魔界の仮面弁士 さん) に返信
    > ■No7315 (アイン さん) に返信
    >>そこで、テキストボックスのforecolorを黒色にしたいのですが、
    >>forecolorを黒にしても、灰色のような色になってしまいます。
    >
    > 親コントロール(または TextBox 自身)の Enabled が False になっていたりはしませんか?
記事No.7315 のレス /過去ログ18より / 関連記事表示
削除チェック/

■10178  Re[2]: あなたの開発環境を教えてください
□投稿者/ れい -(2007/11/12(Mon) 22:02:30)
    No10177 (Jitta さん) に返信
    > ■No10075 (倉田 有大 さん) に返信
    > Pen.4 2.80GHz に 1GB の RAM 積んでます。

    私はJitta先生のon the wayの時の環境が気になります。
    もしよければ教えてください。
記事No.10075 のレス /過去ログ23より / 関連記事表示
削除チェック/

■29341  Re[2]: 構造体配列のインスタンス定義について
□投稿者/ YOU -(2008/12/08(Mon) 17:39:19)
    No29339 (Hongliang さん) に返信
    > iData のインスタンスを new してあげてください。
    > このままじゃあ iData がいくつ要素をもつかも分かりません。

    ありがとうございました。
記事No.29338 のレス / END /過去ログ53より / 関連記事表示
削除チェック/

■40483  Re[3]: UserControl内のコードで親のコントロールにアクセス
□投稿者/ まどか -(2009/08/26(Wed) 20:47:35)
    考え方は置いといて。。。

    No40480 (やじゅ さん) に返信
    > Public Class EditBoxEx
    > Implements IFWForm

    なぜ、ユーザーコントロールがこのインターフェースを「実装」しなければいけないのかがわかりません。


    > Ree@さん

    よねKENさんも書かれていますが、「依存性を一方向にする」という考え方に反するということです。
    ユーザーコントロールはどのコントロールに貼り付けられるかわかりません。
    親がわからないのに「〜があるはずだ」という前提(依存)を作ることはその考え方に反しているということがお分かりになると思います。

    たしかにParentなど逆方向を参照するプロパティがあるということは使用できるということです。
    しかし実装するとなると、前提を満たさない親の場合に(デザイン時に)例外を発生させたり、
    すべての処理が動かないようにガード句を入れたりと大変になることは間違いありません。

    依存性を一方向にするとは、今の仕様の考え方を逆転することですが、たとえば次のようなことになります。

    たとえばユーザーコントロールのテキストに変更があったら親フォームのテキストの内容をその場で書き換えるとします。
    1.ユーザーコントロールにテキストが変更になった旨の独自イベントを実装し、テキストのTextChangedイベントでその独自イベントを発生させます。
    2.親フォームはユーザーコントロールの独自イベントをハンドルして自身のテキストを書き換えます。

    ユーザーコントロールは「テキストが変わったらイベント起してやるから拾いたきゃ勝手に拾え」になり
    親が誰であるかを全く意識(依存)していないことがポイントです。
記事No.40444 のレス /過去ログ69より / 関連記事表示
削除チェック/

■47855  Re[3]: IE6とIE8での違い
□投稿者/ pouch -(2010/03/16(Tue) 16:46:07)
    cssを使っていらっしゃるのであれば、
    IE6用のcssとその他のブラウザ用のcssを用意し、
    条件付コメントでcssの読み込みを制御してしまうという手もあります。
    
    <head>
    
     <!--[if IE 6]>←IE6
      <link rel="stylesheet" type="text/css" href="ie6.css" />
     <![endif]-->
     <!--[if gte IE 7]>←IE7以上
      <link rel="stylesheet" type="text/css" href="other.css" />
     <![endif]-->
     <!--[if !IE]>←IE以外
      <link rel="stylesheet" type="text/css" href="other.css" />
     <![endif]-->
    
    </head>
    
    デメリットは、htmlが若干汚れるという点でしょうか…。
記事No.47750 のレス /過去ログ81より / 関連記事表示
削除チェック/

■60183  Re[4]: ソフトウェアキーボードの起動時間
□投稿者/ 百汰 -(2011/06/22(Wed) 15:52:31)
    No60167 (百汰 さん) に返信
    > >コードのせいじゃなさそうですねー
    > >単独で起動しても1秒はかかる・・・
    >
    > Windows7の仕様なのでしょうか

    仕様ということで一旦解決にいたします。
記事No.60126 のレス / END /過去ログ101より / 関連記事表示
削除チェック/

■87255  Re[1]: DataGridViewの編集モード移行
□投稿者/ WebSurfer -(2018/05/01(Tue) 20:20:18)
    No87254 (big7_8 さん) に返信

    アップされているコードを読む気力がないのでハズレだったらスミマセンが・・・

    もし、SQL Server, Access, MySQL などのデータベースの一覧表示、編集、更新をする Windows Forms
    アプリを作成しているなら、一度 Visual Studio のウィザードを使って定番の構成のアプリを作ってみ
    てはいかがでしょう?

    質問者さんの使っているデーターベースでウィザードが使えるかどうか分かりませんが、使えなければ
    LocalDB とか SQL Server Express を使ってとりあえず作ってみて、ウィザードが自動生成するコード
    を見れば今後の開発の参考になると思います。

    DB が SQL Server の場合ですが、以下のチュートリアル、

    チュートリアル : データベースへのデータの保存 (単一テーブル)
    https://msdn.microsoft.com/ja-jp/library/0f92s97z(v=vs.120).aspx

    10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (C#)
    https://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688

    ・・・のように Visual Studio のデータソース構成ウィザードを利用して型付 DataSet + TableAdapter
    を作って、それを利用してアプリを作ると、以下のページの図のような構造のアプリが、ほとんど自分で
    コードを書くこと無しに作れます。

    Windows フォーム アプリケーションでのデータへの接続
    https://msdn.microsoft.com/ja-jp/library/wxt2cwcc(v=vs.120).aspx

    操作に慣れると 10 分もかからず作れるはずです。今回のような問題に悩むことはなくなり、開発工数は
    激減するはずです。保守工数も減るはずです。お試しください。
記事No.87254 のレス /過去ログ150より / 関連記事表示
削除チェック/

■87268  Re[2]: DataGridViewの編集モード移行
□投稿者/ big7_8 -(2018/05/02(Wed) 15:08:23)
>
    No87255 (WebSurfer さん) に返信

    WebSurfer さん

    はじめまして、big7_8です。
    即返ありがとうございます。

    私もSQLの利用は考慮いたしました。ですが、オブジェクト指向のプログラム自体が初めてで
    とてもそこまでは頭がついていきそうにありません。

    それで、SQLについては将来の課題ということで・・・

    せっかくのアドバイスすみません。


    > アップされているコードを読む気力がないのでハズレだったらスミマセンが・・・

    コードが読み難くて申し訳ありませんでした。VB.NETからコピーした
    エディッター上では字下げされていたので、これでいいと思っておりましたが、
    UPしたら、 字下げが消去されていました。しかし、時間がなかったので
    そのままUPしてしまいました。後、コメントがないのも読み難い理由の一つかな
    と思います。それで、再度、字下げ、コメントをつけて提示させて頂きます。


    【サンプルデータ生成コード】
    '構造体の宣言
    Public Structure Jstock
       Public dteDate As Date
       Public N20O As Single
       Public N20H As Single
       Public N20L As Single
       Public N20C As Single
    End Structure


    Public Class Form1
       Inherits System.Windows.Forms.Form

       Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
         Dim js As Jstock
         FileOpen(1, "e:\data\test4.dat", OpenMode.Random, , , Len(js))

         'データ入力
         js.dteDate = #4/1/2014#
         js.N20O = 21657.87
         js.N20H = 21719.43
         js.N20L = 21591.39
         js.N20C = 21660.28
         FilePut(1, js, 1)
         js.dteDate = #4/2/2015#
         js.N20O = 21801.41
         js.N20H = 21917.35
         js.N20L = 21746.69
         js.N20C = 21778.74
         FilePut(1, js, 2)
         js.dteDate = #4/3/2016#
         js.N20O = 21801.41
         js.N20H = 21917.35
         js.N20L = 21746.69
         js.N20C = 21778.74
         FilePut(1, js, 3)
        js.dteDate = #4/4/2017#
        js.N20O = 21801.41
         js.N20H = 21917.35
        js.N20L = 21746.69
         js.N20C = 21778.74
         FilePut(1, js, 4)
         js.dteDate = #4/5/2018#
        js.N20O = 21801.41
         js.N20H = 21917.35
         js.N20L = 21746.69
        js.N20C = 21778.74
         FilePut(1, js, 5)

         'データ閲覧
         FileGet(1, js, 1)
        Trace.WriteLine(js.dteDate)
         Trace.WriteLine(js.N20O)
         Trace.WriteLine(js.N20H)
        Trace.WriteLine(js.N20L)
         Trace.WriteLine(js.N20C)
         FileGet(1, js, 2)
        Trace.WriteLine(js.dteDate)
         Trace.WriteLine(js.N20O)
         Trace.WriteLine(js.N20H)
        Trace.WriteLine(js.N20L)
         Trace.WriteLine(js.N20C)

         FileClose(1)
       End Sub
    End Class


    【本体コード】

    Imports System
    Imports System.Drawing
    Imports System.Windows.Forms
    Imports System.IO


    Public Interface IDataGridViewEditingCell

    End Interface

    '構造体の宣言
    Public Structure Jstock
       Public dteDate As Date
       Public N20O As Single
       Public N20H As Single
       Public N20L As Single
       Public N20C As Single
    End Structure

    'グローバル変数の宣言
    Public Class Config
       Public Shared dteDate As Date
       Public Shared N20O As Single
       Public Shared N20H As Single
       Public Shared N20L As Single
       Public Shared N20C As Single

       Public Shared RN1 As Integer
       Public Shared RNX As Integer
       Public Shared COUNT As Integer
    End Class


    Public Class Form1
       Inherits System.Windows.Forms.Form

       Implements IDataGridViewEditingCell

       Shared dgv As DataGridView

       Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

         Dim js As Jstock
         FileOpen(1, "e:\data\test4.dat", OpenMode.Random, , , Len(js))
         '最大レコード数
         Config.RN1 = LOF(1) / Len(js)
         '初期表示を最大レコードに設定
         Config.RNX = Config.RN1


         'RnxCheck()でENDを選択したとき、LoopをExit
         Do While Config.RNX > 0
           DataGet()
           '初回のみ列を定義
           If Config.COUNT = 0 Then InitializeDGV()
           '行の初期化
           dgv.Rows.Clear()
           '行を定義及びセルのデータ引き渡し
           FillDGV()

           'DataGridViewの表示
           Me.Show()
           dgv.Select()
           dgv.CurrentCell = dgv(0, 4)
           dgv.BeginEdit(True)
           MessageBox.Show("a1")
           '参照レコードナンバーの変更
           RnxCheck()
         Loop

         '終了(RnxCheck()でENDを選択)
         If Config.RNX = 0 Then
           FileClose(1)
           Application.Exit()
         End If

       End Sub

       'コンストラクタ-
       Public Sub New()
         dgv = New DataGridView()
         dgv.Dock = DockStyle.Fill
         dgv.AllowUserToAddRows = False
         dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
         Me.Controls.Add(dgv)
       End Sub


       '参照レコードナンバーの変更
       Public Sub RnxCheck()
         Dim GetString As String = dgv.CurrentCell.Value

         Select Case GetString
           Case ""

           Case "<<"
             Config.RNX = Config.RNX - 100
             If Config.RNX < 1 Then Config.RNX = 1
           Case "<"
             Config.RNX = Config.RNX - 1
             If Config.RNX < 1 Then Config.RNX = 1
           Case "END"
             Config.RNX = 0
           Case ">"
             Config.RNX = Config.RNX + 1
             If Config.RNX > Config.RN1 Then Config.RNX = Config.RN1
           Case ">>"
             Config.RNX = Config.RNX + 100
             If Config.RNX > Config.RN1 Then Config.RNX = Config.RN1
           Case Else
             Config.RNX = Config.RN1 '仮
         End Select

       End Sub


       '列を定義
       Sub InitializeDGV()
         Dim column1 As New DataGridViewTextBoxColumn
         column1.HeaderText = " 銘柄 "
         dgv.Columns.Add(column1)

         Dim column2 As New DataGridViewTextBoxColumn
         column2.HeaderText = "OPEN"
         dgv.Columns.Add(column2)

         Dim column3 As New DataGridViewTextBoxColumn
         column3.HeaderText = "HIGH"
         dgv.Columns.Add(column3)

         Dim column4 As New DataGridViewTextBoxColumn
         column4.HeaderText = "LOW"
         dgv.Columns.Add(column4)

         Dim column5 As New DataGridViewTextBoxColumn
         column5.HeaderText = "CLOSE"
         dgv.Columns.Add(column5)

         Config.COUNT = 1

       End Sub

       '行を定義
       Sub FillDGV()
         dgv.Rows.Add("日付等", Config.dteDate, Config.RNX)
         dgv.Rows.Add()
         dgv.Rows.Add("日経平均", Config.N20O, Config.N20H, Config.N20L, Config.N20C)
         dgv.Rows.Add()
         dgv.Rows.Add("<<", "<", "END", ">", ">>")
       End Sub


       Sub DataGet()
         Dim js As Jstock

         FileGet(1, js, Config.RNX)
         Config.dteDate = js.dteDate
         Config.N20O = js.N20O
         Config.N20H = js.N20H
         Config.N20L = js.N20L
         Config.N20C = js.N20C
       End Sub

    End Class
記事No.87254 のレス /過去ログ150より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -