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

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

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

全過去ログを検索

<< 0 >>
■9292  Re[2]: WebBrowserでのエラー取得法
□投稿者/ へっぽこ -(2007/10/24(Wed) 12:42:25)
    ありがとうございます!
記事No.9289 のレス / END /過去ログ21より / 関連記事表示
削除チェック/

■9293  Re[1]: SQLの結果が無い場合は0を表示させたい
□投稿者/ ぼのぼの -(2007/10/24(Wed) 12:43:32)
    継ぎ足していく処理の中でDataSetから取り出したDataTableのRowsのCountが0だったらDataGridに新しい行を追加してセルに0をセットすれば良いのではないでしょうか。
記事No.9287 のレス /過去ログ22より / 関連記事表示
削除チェック/

■17599  Re[20]: フォルダ内のファイル名を取得する方法
□投稿者/ れい -(2008/04/28(Mon) 03:09:51)
    2008/04/28(Mon) 03:18:26 編集(投稿者)

    No17597 (ネタ好き さん) に返信
    > れいさんはファイルドライバを今まさに探求しているだけにすごく的確です。

    実際作ってみて、
    Win32APIを眺めてるだけでは理解できなかった部分のなぞがだいぶ解けました。

    Windowsのファイルシステムは
    ディレクトリエントリのリスティングと「リネーム」が非常に特徴的で、
    設計思想がよく出ていると思います。

    > 成る程、カーネルモードとユーザモードの切り替えコストを考えると、
    > (モード切替は確かに遅い)
    > カーネルモードでの処理時間を長くするために、Windowsに任せると良いというのは納得出来る判断です。

    ・問合せ/返信という形で要求する。問合せ側がバッファを用意する。
    ・バッファの自動伸長はない
    ・ディレクトリ構造はFS依存
    ・ファイル名は可変長。
    ・問合せ中にディレクトリを排他ロックしたくない
    ・何個エントリがあるのか分からない。個数の問合せもしたくない。(変更があるから)

    などを考えると、
    どうしても数エントリごとに1回はモードを切り替えないとうまくいかないので、
    エントリをたくさん返すのは重い処理になります。

    FSは「全部任せろ!」という設計思想なのに、
    .NetのGetFiles/GetDirectoriesはいろいろやってくれちゃっていて、
    ネタ好きさんと同様に好きではありません。
    矛盾を感じます。

    No17596 (す さん) に返信
    > ところで、この呪いに対するアプリ側のスマートな対策はないもんでしょうか?
    > 二重に自分でフィルタリングするのはどうも不細工で。。。
    > ヘルプに模範コードを書いてほしいけれど無理なのかも。

    FindFirstFileなら、問題はありませんから、
    これも同じ問題ですよね。

    DirectorySeparatorなど、OSがサポートしない文字が含まれていないことを確認したら、
    そのままFindFirstFileに渡してくれるだけでいいのに、と私は思います。

    違うプラットフォームとかを考えてるのかもしれませんが。

    > と言う事は一番パフォーマンスが望める方法は、Win32Native.FindFirstFileとかを、自分で呼び出して、
    > Directoryクラスがやっている余分なユーザーモードの.NET処理を削り落とすと言う事ですね。

    パフォーマンスがいいのはもちろんですが、
    上記問題や、シンプルさからもそっちのほうがよい気がします。

    ですが、なぜいろいろ処理せねばならなかったのか、詳細を私はまだよく検討していません。
    FindFirstFileでほとんど足りるはずなんですが。

    無駄なものは作らないはずで、きっと何か事情があったはずだと思います。
    その事情がわからない以上、私はGetFilesを使うという方針です。

    #FSDを作った身としては
    #「せっかくカーネルモードで文字列マッチングまでやってるんだから使ってくれ」
    #とか
    #「ここまでやらせておいてまだユーザーモードでいろいろ処理しなきゃいけないなんておかしい」
    #という気分ですが。
記事No.17488 のレス /過去ログ35より / 関連記事表示
削除チェック/

■24763  Re[2]: FtpWebRequestでのFTP接続について
□投稿者/ 泥グラマ -(2008/09/09(Tue) 12:46:18)
    私なんかが書くのも生意気ですけど、同じことで悩んだころがあります。

    >他にいくつか別のホストで試した場合にも全て同じエラーが表示されています。

    私の場合いくつかのホストで連荘してみてエラーが起きて困っていたのですが原因は
    エラーでcatchされたときにftpReqを破棄していなかったので
    エラーが起き続けました…
    finallyできちんとftpReqを破棄したら複数ホストでまわしても動きました・・・
記事No.24740 のレス /過去ログ46より / 関連記事表示
削除チェック/

■51767  Re[2]: const付き変数のreinterpret_castについて
□投稿者/ 774RR -(2010/07/17(Sat) 07:36:26)
    もうひとついえば *data1 の値は変わっていないけど *data2 の値は変わっているわけだよ
記事No.51765 のレス /過去ログ87より / 関連記事表示
削除チェック/

■76751  Re[1]: vb.netでLivedoorBlogへ記事投稿
□投稿者/ 神戸 -(2015/08/09(Sun) 13:06:37)
    改めて質問させていただきます。
    
    前回の返答を参考に文法エラーが出てた箇所を下記のように
    修正しデバッグできるようはなりました。
    
    フォーム上にボタンを置きボタンを押すとグーグルの画像を
    Blogサイトにアップするという動作確認用サンプルです。
    
    ですが実行させてみると401エラーが発生し止まってしまいました。
    色々と調べてみたのですがvb以外の仕様も多く理解できません
    
    この行でエラーストップ
    Dim retUp As Byte() = wc.UploadData(LdEntryUrl, "POST", imgBytes)       'ここでエラー:リモートサーバーエラー401
    エラーは401(承認失敗?)です
    
    何が問題でどう対処すればいいのでしょうか?
    
    もしかしたらと考えている問題点
    Livedoorが提供するAtomPubは新旧の2種類あり使おうとしてるの旧タイプ
    新旧の違いによってAtomPubにつかうルートエンドポイントのURLが違う?
    Web開発の知識が皆無なので問題点を解決する検索方法もわかりません。
    
    
    必要になりそうな参考文献
    LivedoorのAtomPubの仕様
    http://help.blogpark.jp/archives/52288925.html
    
    
    ソース
    FormLoad時に
            System.Net.ServicePointManager.Expect100Continue = False
    
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button_PicUpload.Click
            Dim wc As New WebClient
            Dim wc2 As New WebClient
            Dim stream As IO.Stream
            Dim sr As StreamReader
            Dim enc As Encoding = Encoding.UTF8
    
            'Dim username As String = "abc"←元ソース
            'Dim password As String = "1234"←元ソース
            'Dim upurl As String = "http://livedoor.blogcms.jp/atom/blog/abc/article"←元ソース
            '↑を↓へ変更(値はLoad時に設定)
            '↓LivedoorBlogアカウントIdを設定
            'Dim LdUsername As String = "abc"
            '↓BlogアカウントパスワードではなくAtomPubキー生成で作られたパスワードを設定
            'Dim LdPassword As String = "1234"←アカウントパスワードではなくAtomPub用パスワードを設定
            '↓BlogUrlではなくAtomPubキー生成で作られたルートエンドポイントを設定
            'Dim LdEntryUrl As String = "https://livedoor.blogcms.jp/atompub/LivedoorBlogId" ←LivedoorBlogId部分は具体的なBlogIdだったので伏せてます
    
            Dim nonce As Byte() = makeRandamBytes(40)
            Dim created As String = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ")
    
            Dim bytemain As New List(Of Byte)
            bytemain.AddRange(nonce)
            bytemain.AddRange(System.Text.Encoding.UTF8.GetBytes(created))
            bytemain.AddRange(System.Text.Encoding.UTF8.GetBytes(LdPassword))
    
            Dim sha1 As New SHA1Managed()
            Dim passwordDigest As Byte()
            passwordDigest = sha1.ComputeHash(bytemain.ToArray())
    
            Dim format As String = "UsernameToken Username=""{0}"", PasswordDigest=""{1}"", Nonce=""{2}"", Created=""{3}"""
            Dim wsseHeader As String = String.Format(format, LdUsername, _
                                        Convert.ToBase64String(passwordDigest), _
                                        Convert.ToBase64String(nonce), created)
    
    
            wc.Headers.Add("X-WSSE", wsseHeader)
            stream = wc.OpenRead("http://livedoor.blogcms.jp/atom/")
            sr = New StreamReader(stream, enc)
    
            TextBox_Top.Text = sr.ReadToEnd()     '←ここは拾えてるのでId/Passwordは承認されてる?
    
    
            'サンプルでグーグルの画像を設定してみた
            Dim imgBytes As Byte() = wc2.DownloadData("https://www.google.co.jp/images/srpr/logo11w.png")  '←一度ローカルに保存して画像が拾えてるのは確認
            wc.Headers.Add("X-WSSE", wsseHeader)
            wc.Headers.Add("Content-Type", "image/jpeg")
    
    
            'Dim retUp As Byte() = wWc.UploadData(imgurl, "POST", imgBytes)
            '↓imgurlは存在しない変数、上に使ってないURL変数があったのでそれに変更
            Dim retUp As Byte() = wc.UploadData(LdEntryUrl, "POST", imgBytes)       'ここでエラー:リモートサーバーエラー401
    
            TextBox_Bottom.Text = System.Text.Encoding.UTF8.GetString(retUp)
    
            wc.Dispose()
            wc2.Dispose()
    
        End Sub
    
        Private Function makeRandamBytes(ByVal ByteLength As Integer) As Byte()
    
            '指定数の文字の乱数を作成
            Dim r As New System.Random(1000)
            Dim bs As Byte() = New Byte(ByteLength) {}
            r.NextBytes(bs)
    
            Return bs
    
        End Function
記事No.76748 のレス /過去ログ129より / 関連記事表示
削除チェック/

■93197  Re[1]: SQL
□投稿者/ kiku -(2019/11/27(Wed) 17:19:36)

    > NO=2の場合はIDが2のデータを取り、

    NOが2のデータをすべて取ると下記のようになります。

    [T1の結果]
    NO NAME
    2, a

    IDが2のデータをすべて取ると下記にようになります。

    [T2の結果]
    ID, NAME, NO2
    2, c, 1
    2, d, 2
    2, e, 3
    2, f, 4

    [T2]の結果をベースに、[T1]の結果を結合すると、下記のようになります。

    [結合結果]
    NO, NAME, ID, NAME, NO2
    2, a, 2, c, 1
    2, a, 2, d, 2
    2, a, 2, e, 3
    2, a, 2, f, 4

    提示頂いている下記情報と比較すると、一致しない。

    > NO NAME ID NAME NO2
    > 2, a, 2, c, 1
    > 2, a, 2, d, 2

    何か説明不足な点があると思われます。

    >NO=1.5の場合はIDが1の後半とIDが2の前半を取ります。

    前半と後半の定義がわからないです。
    何か説明不足な点があると思われます。

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

■93210  Re[2]: SQL
□投稿者/ 犬夜叉 -(2019/11/28(Thu) 09:10:13)
    2019/11/28(Thu) 09:12:52 編集(投稿者)

    No93197 (kiku さん) に返信

    すみません結果は以下のようになります。

    NO NAME ID NAME2 NO2
    1.5 b 1 b 2
    1.5 b 2 c 1
    1.5 b 2 d 2
    2.0 a 2 c 1
    2.0 a 2 d 2
    2.0 a 2 e 3
    2.0 a 2 f 4


    力ずくでやってみると以下のようになりました。
    もっと簡単にできればいいのですが方法はありますでしょうか?

    WITH
    TB1 (NO, NAME) AS (
    SELECT 2, 'a'
    UNION SELECT 1.5, 'b'
    ),
    TB2 (ID, NAME, NO2) AS (
    SELECT 1, 'a', 1
    UNION SELECT 1, 'b', 2
    UNION SELECT 2, 'c', 1
    UNION SELECT 2, 'd', 2
    UNION SELECT 2, 'e', 3
    UNION SELECT 2, 'f', 4
    ),
    TB AS (
    SELECT TB1.NO, TB1.NAME, TB2.ID, TB2.NAME AS NAME2, TB2.NO2
    FROM TB1
    INNER JOIN TB2
    ON CEILING(TB1.NO) = TB1.NO AND TB1.NO = TB2.ID
    OR CEILING(TB1.NO) <> TB1.NO AND (TB2.ID = CEILING(TB1.NO) OR TB2.ID = FLOOR(TB1.NO))
    ),
    TBM AS (
    SELECT *,
    (
    SELECT MIN(ID)
    FROM TB AS TB1
    WHERE TB1.NO = TB.NO
    ) AS MINID
    ,
    (
    SELECT MAX(ID)
    FROM TB AS TB1
    WHERE TB1.NO = TB.NO
    ) AS MAXID
    FROM TB
    ),
    TBD AS (
    SELECT *,
    (
    SELECT COUNT(*)
    FROM TBM AS TBM1
    WHERE TBM1.ID = MINID
    AND TBM1.NO = TBM.NO
    ) AS MINCNT,
    (
    SELECT COUNT(*)
    FROM TBM AS TBM1
    WHERE TBM1.ID = MAXID
    AND TBM1.NO = TBM.NO
    ) AS MAXCNT
    FROM TBM
    )

    SELECT NO, NAME, ID, NAME2, NO2
    FROM TBD
    WHERE CEILING(TBD.NO) = TBD.NO
    OR CEILING(TBD.NO) <> TBD.NO
    AND (
    TBD.ID = MINID AND TBD.NO2 >= TBD.MAXCNT / 2
    OR TBD.ID = MAXID AND TBD.NO2 <= TBD.MAXCNT / 2
    )
記事No.93196 のレス /過去ログ161より / 関連記事表示
削除チェック/

■98996  Re[3]: Oracle の接続先設定について
□投稿者/ 弓月 -(2022/01/26(Wed) 19:33:17)
>
    No98994 (radian さん) に返信
    > リンク先のURLが微妙に間違ってる気がしますが、その記事に載っている
    > 「接続文字列のDataSourceに直接指定」のやり方で指定する文字列を、
    > 使用する外部ファイルから読み取ればよいのではないでしょうか。


    後出しで申し訳ないのですが、接続文字列自体は取得できてはいるのです。
    今欲しいのは、<startup>タグの下に
    <connectionStrings>
    <add name="DB"
    connectionString="User Id=ID;Password=Password;Data Source=Source"
    providerName="Oracle.ManagedDataAccess.Client" />
    </connectionStrings>

    と書いたうえでOracle に接続をしたいのです。(App.configに直書きしたときは通る)

    今考えているのは、App.config の<configration>中身を丸ごと共通フォルダに書き、それを読み取ろうとしているのですが、上手く読み込んでくれないのです

    [System.Configuration.ConnectionStringSettingsCollection.this[string].get が null を返しました。]というエラーが出ます
記事No.98992 のレス /過去ログ172より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -