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

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

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

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 >>
■56478  LINQ to SQL での表現方法
□投稿者/ ジャンジャン -(2011/01/14(Fri) 20:19:07)

    分類:[.NET 全般] 

    いつもお世話になっております。

    環境はSqlServer2008,VisualStudio2008です。

    次の内容をLINQ to SQLでどのように表現すれば取得出来るか分からず困っています。




    テーブルTable1に、列名Datetime2_a,Datetime2_b でデータが格納されている。

    (二つの日付の差分の平均を取得するSQL文)

    SELECT AVG( DATEDIFF (MILLISECOND,Datetime2_a,DateTime2_b)) FROM Table1

    ※Linq to SQLによる、シンプルなデータの取得、挿入、変更は理解しています。
    ※MILLISECONDの部分はSECONDでも構いません(MILLISECONDが出来ない模様)
親記事 /過去ログ95より / 関連記事表示
削除チェック/

■56485  Re[1]: LINQ to SQL での表現方法
□投稿者/ やじゅ -(2011/01/14(Fri) 23:55:59)
>
    2011/01/16(Sun) 19:52:23 編集(投稿者)

    No56478 (ジャンジャン さん) に返信
    > SELECT AVG( DATEDIFF (MILLISECOND,Datetime2_a,DateTime2_b)) FROM Table1

    動作未確認、あとで検証します。とりあえず…
    using System.Data.Linq.SqlClient;
    var query = (from d in db.table1
    select new
    {
    diff = SqlMethods.DateDiffSecond(d.date_a, d.date_b)
    }).Average(i => i.diff)
    実行するとエラーがでるなー、むー。

    追記:2011/01/16 上記で出来ることを確認しました。
記事No.56478 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56491  Re[2]: LINQ to SQL での表現方法
□投稿者/ かたぎり -(2011/01/15(Sat) 10:19:32)
記事No.56478 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56493  Re[2]: LINQ to SQL での表現方法
□投稿者/ 渋木宏明 -(2011/01/15(Sat) 11:43:01)
>
    > 実行するとエラーがでるなー、むー。
    
    うちでは特に問題なく計算出来てるみたい。
    
    static void Main(string[] args)
    {
      using (var db = new DataClasses1DataContext())
      {
        var result = db.Table1.Average(_ => SqlMethods.DateDiffMillisecond(_.DateTime2_a, _.DateTime2_b));
    
        Console.Out.WriteLine(result);
      }
    }
    
記事No.56478 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56496  Re[3]: LINQ to SQL での表現方法
□投稿者/ ジャンジャン -(2011/01/15(Sat) 15:40:41)
    解決いたしました。使用言語はVBです。

    使うべきDateDiffを使えていなかったのが原因のようです。
    System.Data.Linq.SqlClient.SqlMethods.DateDiffMillisecondを使用しました。

    以下、コード

    Public Sub test()

    Using db As New DataClassesDataContext

    Dim dateDiffAverage = Aggregate datediff In _
    (From table1 In db.Table1 _
    Select SqlMethods.DateDiffMillisecond(table1.Datatime2_a, table1.Datatime2_b)) _
    Into Average(datediff)

    Console.WriteLine(dateDiffAverage)

    End Using

    End Sub
記事No.56478 のレス / END /過去ログ95より / 関連記事表示
削除チェック/

■56461  VisualStudioで参照の参照を自動設定する方法
□投稿者/ jose -(2011/01/14(Fri) 14:00:51)

    分類:[.NET 全般] 

    いつもお世話になっております。joseと申します。

    VisualStudioで新規プロジェクトを作成し、プロジェクト参照を設定した際に、
    参照されたプロジェクトがさらに参照しているライブラリやプロジェクトが
    自動的に新規プロジェクトにも反映されるというような設定はありますでしょうか。

    たとえば、ライブラリXを使用しているAプロジェクトがある状態で
    Bプロジェクトを作成し、Bプロジェクトのプロジェクト参照設定にAプロジェクトを
    指定した際に、BプロジェクトにはライブラリXも参照されているようになればと
    思っております。

    さらには元のAプロジェクトで参照を追加してリビルドなり何かのアクションを
    とった場合には、Bプロジェクトにも反映されればさらにうれしいのですが。

    使用しているVisual Studioは2005 / 2008 / 2010です。
親記事 /過去ログ95より / 関連記事表示
削除チェック/

■56490  Re[1]: VisualStudioで参照の参照を自動設定する方法
□投稿者/ 渋木宏明 -(2011/01/15(Sat) 10:12:18)
>
    プロジェクトA の参照設定が適切(必要に応じて各項目の「コピー」を設定など)であれば、

    > VisualStudioで新規プロジェクトを作成し、プロジェクト参照を設定した際に、
    > 参照されたプロジェクトがさらに参照しているライブラリやプロジェクトが
    > 自動的に新規プロジェクトにも反映されるというような設定はありますでしょうか。

    という設定をしなくても、プロジェクトBのビルド時にプロジェクトAが依存している項目もプロジェクトBのビルド出力に含まれるはずです。
記事No.56461 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56498  Re[1]: VisualStudioで参照の参照を自動設定する方法
□投稿者/ shu -(2011/01/16(Sun) 22:40:22)
    No56461 (jose さん) に返信
    
    > VisualStudioで新規プロジェクトを作成し、プロジェクト参照を設定した際に、
    > 参照されたプロジェクトがさらに参照しているライブラリやプロジェクトが
    > 自動的に新規プロジェクトにも反映されるというような設定はありますでしょうか。
    > 
    > たとえば、ライブラリXを使用しているAプロジェクトがある状態で
    > Bプロジェクトを作成し、Bプロジェクトのプロジェクト参照設定にAプロジェクトを
    > 指定した際に、BプロジェクトにはライブラリXも参照されているようになればと
    > 思っております。
    
    PrjB ---> PrjA --->  LibX
     │                  ↑
      └─────────┘
    
    という参照が必要なケースにおいて
    PrjB ---> LibXの参照を明示的に行いたくないという事でしょうか?
    無理かと思います。これが可能だとしても、PrjBにLibXが必要か
    どうかという判断は作る人でないと分からないです。(PrjAが必要としているものが
    PrjBに必ずしも必要とは限らない)グローバルアセンブリキャッシュに登録されているもので
    あれば警告が表示され必要な時に追加することは出来るようですが(VB2010にて、System.Windows.Formsが
    参照されていない状態でFormの派生クラスのインスタンスを作るコードで確認)、すべてを登録するわけ
    にはいかないかと思います。PrjBからLibXへの参照を明示的に行いたくないのであればPrjAにLibXのクラスの
    ラッパーなり派生クラスなりを持たせれば参照する必要はなくなります。
    
記事No.56461 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56463  Re[5]: 正規表現について
□投稿者/ ポンポポン -(2011/01/14(Fri) 14:19:49)
    shuさま

    お返事が大変遅くなりまして申し訳ありませんでした。
    検索対象文字列内には、TITLEとURLの組み合わせが複数存在するため、下記の通りとすることで実現できました。

    \[title:(?<title>.+?)\]:(?<url>http:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\-%/+]+)

    ※[[title:aaaaa]]:http://〜 のようにtitleの後ろの ] が複数ある場合に、aaaaa] と抽出されてしまいますが、とりあえず解決です。

    ご教授いただき、ありがとうございました!
     
記事No.56122 のレス / END /過去ログ95より / 関連記事表示
削除チェック/

■56466  Re[6]: 正規表現について
□投稿者/ よねKEN -(2011/01/14(Fri) 14:56:43)
    No56463 (ポンポポン さん) に返信
    > \[title:(?<title>.+?)\]:(?<url>http:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\-%/+]+)
    >
    > ※[[title:aaaaa]]:http://〜 のようにtitleの後ろの ] が複数ある場合に、aaaaa] と抽出されてしまいますが、とりあえず解決です。

    正規表現に『]:』という部分があるので、aaaaaの直後の"]"は『]:』にマッチしないのでタイトルの一部とみなされます。

    試していませんが、『[title:aaaaa]』と『:http://〜』の間に何か文字があってもよいなら、
    以下のようにすればOKではないでしょうか。

    \[title:(?<title>.+?)\]:(?<url>http:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\-%/+]+)
               ↓追加箇所↓
    \[title:(?<title>.+?)\](?:[^:]*):(?<url>http:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\-%/+]+)
記事No.56122 のレス / END /過去ログ95より / 関連記事表示
削除チェック/

■56499  Re[6]: 正規表現について
□投稿者/ shu -(2011/01/17(Mon) 00:43:24)
    No56463 (ポンポポン さん) に返信

    > ※[[title:aaaaa]]:http://〜 のようにtitleの後ろの ] が複数ある場合に、aaaaa] と抽出されてしまいますが、とりあえず解決です。
    この場合、提示された抽出パターンと合わないように思うのですが抽出されてしまってよいのでしょうか?『[Title:〜』の前の『[』が前の
    一致文字列の後にくる区切り文字として扱われるのなら別ですが、[Title:・・・]:http://〜の前後が具体的にどうなっているかを
    正規表現に含める必要があるように思います。そうでないのなら抽出パターンを見直す必要があります。
記事No.56122 のレス / END /過去ログ95より / 関連記事表示
削除チェック/

■56508  DataAdapterの扱い
□投稿者/ tecc -(2011/01/17(Mon) 16:51:36)

    分類:[.NET 全般] 

            public System.Data.DataTable ReturnDataTable
    (string query, string dataMember)
    {
    cmd.CommandText = query;
    cmd.CommandType = System.Data.CommandType.Text;
    using (OleDbDataAdapter oda = new OleDbDataAdapter(cmd.CommandText, Cnn))
    {
    using (System.Data.DataSet da = new System.Data.DataSet())
    {
    try
    {
    oda.Fill(da, dataMember);
    System.Data.DataTable dt = new System.Data.DataTable();
    dt = da.Tables[dataMember].Copy();
    return dt;
    }
    catch (OracleException oex)
    {
    Console.WriteLine(string.Format("Execute Error:{0}", oex.Message.ToString()));
    throw;
    }
    }
    }
    }
    ///test
    public void DataBaseUpdate(System.Data.DataTable dt)
    {
    using (OleDbDataAdapter oda = new OleDbDataAdapter())
    {
    try
    {
    using (OleDbCommandBuilder ocb = new OleDbCommandBuilder(oda))
    {
    oda.Update(dt);
    }
    }
    catch (OleDbException oex)
    {
    Console.WriteLine(string.Format("Execute Error:{0}", oex.Message.ToString()));
    throw;
    }
    }
    }

    このようなメソッドを作成しました。このクラスは他にデータベースへの接続制御等を行っています。
    そこで質問なのですが、DataBaseUpdateメソッドにてACCESSのデータベースに
    一括でDataTableのデータを丸々登録させるようにはできたりしますか?
    またこの時、重複しているデータを判別しそれらはUPDATEしたいです。
    やり方があれば教えて下さい。
親記事 /過去ログ95より / 関連記事表示
削除チェック/

■56511  Re[1]: DataAdapterの扱い
□投稿者/ shu -(2011/01/17(Mon) 17:49:30)
    No56508 (tecc さん) に返信

    意味のない処理を行っているところがたくさんあるのですが、各処理をよく確認された方がよいです。
    例えば

    > oda.Fill(da, dataMember);
    > System.Data.DataTable dt = new System.Data.DataTable();
    > dt = da.Tables[dataMember].Copy();
    DataTable dtをnewする意味がありません。(次ですぐ代入を行っているので)
    Copyする意味がありません。(Copyの元がすぐなくなってしまうので)


    > このようなメソッドを作成しました。このクラスは他にデータベースへの接続制御等を行っています。
    > そこで質問なのですが、DataBaseUpdateメソッドにてACCESSのデータベースに
    > 一括でDataTableのデータを丸々登録させるようにはできたりしますか?
    手順を踏めばDataTableの各Datarowに対して行った処理によりInsert, Update, Deleteが行われます。


    > またこの時、重複しているデータを判別しそれらはUPDATEしたいです。
    > やり方があれば教えて下さい。
    DataAdapter.Fillで持ってきたDataTableの中を直接更新しないで、別テーブルで編集しといて
    自前で比較を行う必要があるかと思います。

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

■56406  ブラウザへのキーイベント発生方法について
□投稿者/ ごう -(2011/01/13(Thu) 10:17:33)

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


    VB2010 Expressを使ってブラウザを操作するプログラムを作成しています。

    ブラウザ側の仕様ですが、テキストボックス(xxx)に値を入力し、
    Enterキーを押すとある計算(yyy)がされます。

    <input id="xxx" onkeypress="return trapEnter(event, 'yyy(1);');" type="text">


    xxxに値を代入した後、FireEventイベントを利用しようと考えていますが、
    Enterキーを押す動作(キーイベント)をどう実装していいかわからず、質問させていただきました。

    obj = doc.all.item("xxx")
    obj.Value = 123
    obj.FireEvent("onkeypress")


    よろしくお願いいたします。
親記事 /過去ログ95より / 関連記事表示
削除チェック/

■56414  Re[1]: ブラウザへのキーイベント発生方法について
□投稿者/ ごう -(2011/01/13(Thu) 15:22:42)
    No56406 (ごう さん) に返信

    # 同じ名前だ・・・

    ブラウザ側ということは VBというより、JavaScriptの質問でしょうかね?

    何が知りたいのか文章から読み取れないんだけど、onKeyPressイベントあたりで
    Enterキーを押されたかどうか判別するやり方がわからないってことですかね?


    参考:
    http://vertex.air-nifty.com/blog/2007/08/javascript_ente_a090.html

    function enterをfunction trapEnterに読み替えてみてはどうでしょうか。

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

■56416  Re[2]: ブラウザへのキーイベント発生方法について
□投稿者/ ごう -(2011/01/13(Thu) 16:45:48)
記事No.56406 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56444  Re[3]: ブラウザへのキーイベント発生方法について
□投稿者/ ごう -(2011/01/14(Fri) 00:17:31)
    同じ名前のごうさん、
    回答、ありがとうございます。


    わたしの説明が悪かったようです。

    VBプログラムから「操作したいブラウザ」に上記のinputタグが組み込まれており、
    onkeypressイベントで実行されるtrapEnter関数には今回教えていただいた
    「EnterキーでSubmitするロジック」(yyy)が既に実装されいます。

    今回の問題は、inputタグに値を代入(obj.Value = 123)し obj.FireEvent("onkeypress")を
    実行しても、ブラウザ側(trapEnter関数)ではEnterキーが押されいないと認識し、
    yyy関数を実行してくれません。

    どのようにすれば、VBプログラムからブラウザ側に Enterキーを擬似的に発生させ、
    trapEnter関数からyyy関数を実行させることができのでしょうか。

    伝わりましたでしょうか。
記事No.56406 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56449  Re[4]: ブラウザへのキーイベント発生方法について
□投稿者/ todo -(2011/01/14(Fri) 10:10:59)
記事No.56406 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56452  Re[5]: ブラウザへのキーイベント発生方法について
□投稿者/ todo -(2011/01/14(Fri) 10:33:00)
記事No.56406 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56486  Re[6]: ブラウザへのキーイベント発生方法について
□投稿者/ ごう -(2011/01/14(Fri) 23:59:56)
    todo さん
    回答、ありがとうございます。

    やってみましたが、yyy関数は実行されませんでした。
    教えていただいたサイトをじっくり読んで、週末
    再度、チャレンジしてみます。
記事No.56406 のレス /過去ログ95より / 関連記事表示
削除チェック/

次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 >>

ヒット件数が多いので過去ログ95〜95 までの検索結果 / 過去ログ96からさらに検索→

パスワード/

- Child Tree -