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

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

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

全過去ログを検索

<< 0 >>
■14820  Re[9]: 時間について
□投稿者/ Mr.T -(2008/02/27(Wed) 14:28:25)
    Mr.Tです、こんにちは。
    >>どういうふうにして?
    >
    > 独学で解決しました。

    いえ、どういう手法で解決したのか、と聞いているのだと思います。
記事No.14389 のレス /過去ログ31より / 関連記事表示
削除チェック/

■61348  Re[1]: Oracle の ODP.NET移行に関して教えてください。
□投稿者/ 魔界の仮面弁士 -(2011/08/09(Tue) 23:44:19)
    No61337 (KMです さん) に返信
    > 検証環境 2003Server X86
    > 本番環境 2008ServerR2 X64
    IIS の動作モードは、32bit / 64bit どちらのモードに設定されていますか?


    > リコンパイルすることなく(互換をもたせた)実行できるような
    まず確認。

    11g クライアントのある環境でコンパイルしたものを配置した場合に、
    正しく動作する事は確認されましたでしょうか。(実行環境の整備が完了しているかどうかの確認です)


    > web.config、machine.config などで...
    手元に環境が無いので確認できませんが、まずは assemblies の記述を見直してみては如何でしょう。
    http://msdn.microsoft.com/ja-jp/library/37e2zyhb.aspx
記事No.61337 のレス /過去ログ103より / 関連記事表示
削除チェック/

■69674  Re[1]: メインウィンドウの判断はどうやって行うの?
□投稿者/ オショウ -(2014/01/19(Sun) 13:30:41)
    No69673 (C#初心者 さん) に返信
    > これを行いたい理由は、
    > あるタイミングでメインのウィンドウがC#で作成したアプリケーション以外
    > の場合に、メインのウィンドウをC#で作成したアプリケーションに
    > 強制的に戻したいためです。
    >
    > どなたかアドバイスのほどお願いします。

      簡単に・・・とすると、基本、ウィンドウやコントロールには
      フォーカスを得た場合とフォーカスが無くなった場合のイベント
      があります。

      他のウィンドウで作業と言うことは、そのメインたるウィンドウ
      はそれ以前にフォーカスをロストしたことになり、イベントが発
      生したはずです。

      よって、フォーカスがロストした以降で、何かの通信手段で表に
      なるよう知らせることができれば、メインウィンドウの方で、自
      身がフォーカスを再取得するように動作させれば、欲しい機能と
      なると思います。

      ただ、フォーカスをロストした後、何を以って表に持ってこさせ
      るか?と言う判断をどうするかです。
      一般的には、スクリーンセーバーのように何もイベントが無くな
      ってしまい、所定の時間経過した場合に何らかのイベントを発生
      させて、メインウィンドウを表にさせる。と言う動作でしょうか

      しかしながら、全てのアプリに何らかの連携する機能を組み込ま
      ないといけないので、自分で作ったものでは無いアプリにも・・・
      となると使えませんネ!

      メインのアプリだけに細工するならば、スクリーンセーバーモド
      キの機能を組み込んで、所定時間、デスクトップにイベントが発
      生しなくなったら、自分自身のメインウィンドウを表にさせる。
      と言うような動きなら、メインのプログラムだけで済むかと思い
      ます。

      残るは、本当にスクリンセーバー作って、メインのアプリに知ら
      せる方式とすることでしょうか。通知方法は、API のPostMessage
      でよいかと。メインのアプリは、WndProcをオーバーライドすれば
      PostMessageされたWM_USER+αのメッセージが受け取れるので。

    ※ 最終的には、簡単にはいかないか・・・

    以上。参考まで
記事No.69673 のレス /過去ログ119より / 関連記事表示
削除チェック/

■90105  LINQでJOIN時のエラーについて
□投稿者/ レイ -(2019/02/08(Fri) 23:33:10)

    分類:[C#] 

    2019/02/09(Sat) 00:24:35 編集(投稿者)

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

    DBから抽出したデータと、加工用にDataTableにセットしたデータを
    JOINしたときに、エラーが出たので質問させてください。

    まず、DBからマスタを取得し格納するクラスがあります。
    このマスタクラスと、データをjoinして、
    結果を取得したいのですが、思い通りになりません。

    例えば
    class Shohin
    {
    public Shohin(string code, string name)
    {
    this.code = code;
    this.name = name;
    }

    public string code { get; set; } // 商品コード
    public string name { get; set; } // 名前
    }

    があり、このクラスを経由し、var shohinにデータを取得します。

    また、出庫テーブルもDBにあり、これもDBより取得します。
    class Delivery
    {
    public Delivery(string no, string deliverydt, string itemcode)
    {
    this.no = no;
    this.deliverydt = deliverydt;
    this.itemcode = itemcode
    }

    public string no { get; set; } // 出庫番号
    public string deliverydt { get; set; } // 出庫日
    public decimal itemcode { get; set; } // 商品コード
    public decimal deliveryCount { get; set; } // 出庫数}
    var dtdelivery

    この後、出庫データに出庫日当時の価格を価格マスタから取得しながら、
    DataTableに追加します。
    DataTable dtdelivery = new DataTable("dtdelivery");
    DataRow dr = dtdelivery.NewRow();
    foreach (var prop in propsdtdelivery)
    {
    if (prop.GetMethod.IsVirtual != true)
    {
    dr[prop.Name] = prop.GetValue(l) ?? DBNull.Value; // 単価項目も追加します。また、出庫数*単価で金額項目も追加します。
    }
    }
    dtdelivery.Rows.Add(dr);

    その後、出庫データテーブルの件数をカウントし、金額をサマリーします。
    var deliverycontext = dtdelivery.AsEnumerable()
    .GroupBy(x => x.Field<string>("ItemCode")).Select(x => new
    {
    ItemCode = x.Key,
    Count = x.Sum(y => y.Field<decimal>("Count")), // 出庫データ件数
    SumAmount = x.Sum(y => y.Field<decimal>("SumAmount")) // 出庫金額合計
    });

    deliverycontextの結果ビューには、値がセットされています。

    ここで質問ですが、shohinとdeliverycontextをjoinしたいのですが、
    エラーになってしまいます。

    var test = from a in shohin
    join b in deliverycontext on a.ItemCode equals b.ItemCode into A
    from x in A.DefaultIfEmpty()
    select new
    {
    ItemCode = x.ItemCode,
    Count = (x != null) ? x.Count : 0,
    SumAmount = (x != null) ? y.SumAmount : 0
    };
    エラー内容:
    型 '匿名型' の定数値を作成できません。このコンテキストでサポートされるのはプリミティブ型または列挙型だけです。

    何が原因なのか、ご教授の程よろしくお願い致します。
親記事 /過去ログ155より / 関連記事表示
削除チェック/

■90106  Re[1]: LINQでJOIN時のエラーについて
□投稿者/ WebSurfer -(2019/02/08(Fri) 23:43:42)
    No90105 (レイ さん) に返信

    出来れば「図表モード」で書き直していただけませんか。コードがインデントされて見やすく
    なりますので。

    分類が ASP.NET となっていますがどういう関係があるのでしょうか? 単に C# の Linq の
    話のように見えますけど。
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90107  Re[2]: LINQでJOIN時のエラーについて
□投稿者/ レイ -(2019/02/09(Sat) 00:27:01)
    No90106 (WebSurfer さん) に返信

    WebSurferさん

    ご指摘ありがとうございます。

    修正しました。

    他にご指摘等ございましたら、
    よろしくお願いします。
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90108  Re[3]: LINQでJOIN時のエラーについて
□投稿者/ WebSurfer -(2019/02/09(Sat) 09:06:15)
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90109  Re[3]: LINQでJOIN時のエラーについて
□投稿者/ WebSurfer -(2019/02/09(Sat) 11:54:52)
    No90107 (レイ さん) に返信
    
    質問者さんのコードと似たような(あくまで似たような)サンプルを作って試してみましたが
    エラーは再現できませんでした。
    
    質問者さんのコードは理解できませんし、エラーは再現できないということで原因不明です。
    
    ただ、No90108 の私のレスで書いた「LINQにも色々 〜SQLに変換されるモノと変換されないモ
    ノ」は関係なさそうな感じです。
    
    ご参考に、自分が作ったサンプルのコードをアップしておきます。
    
    DB は Microsoft が提供する SQL Server サンプルデータベース Northwind で、それから
    Visual Studio のウィザードを使って ADO.NET Entity Data Model を生成し、その中の
    Order_Details, Products テーブルを使っています。
    
    環境は、Windows 10 Pro 64-bit, .NET 4.6.1, Entity Framework 6.2.0, Visual Studio
    Community 2015 Update 3, SQL Server 2008 Express です。
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.Entity;
    
    namespace ConsoleAppJoinByLinq
    {
        class Program
        {
            static void Main(string[] args)
            {
                NORTHWINDEntities context = new NORTHWINDEntities();
    
                var delivery = from d in context.Order_Details
                               group d by d.ProductID into g
                               orderby g.Key
                               select new
                               {
                                   ItemCode = g.Key,
                                   Count = g.Sum(x => x.Quantity),
                                   SumAmount = g.Sum(x => x.UnitPrice * x.Quantity)
                               };
    
                var test = from p in context.Products
                           join d in delivery
                           on p.ProductID equals d.ItemCode into dGroup
                           from item in dGroup.DefaultIfEmpty()
                           select new
                           {
                               ItemCode = p.ProductID,
                               Name = p.ProductName,
                               Count = item.Count,
                               SumAmount = item.SumAmount
                           };
    
                foreach (var x in test)
                {
                    Console.WriteLine($"ID: {x.ItemCode}, Name: {x.Name}, Count: {x.Count}, Sum: {x.SumAmount}");
                }
            }
        }
    }
    
    結果は:
    ID: 1, Name: Chai, Count: 828, Sum: 14277.6000
    ID: 2, Name: Chang, Count: 1057, Sum: 18559.2000
    ID: 3, Name: Aniseed Syrup, Count: 328, Sum: 3080.0000
    ・・・中略・・・
    ID: 77, Name: Original Frankfurter grune Sose, Count: 791, Sum: 9685.0000
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90111  Re[4]: LINQでJOIN時のエラーについて
□投稿者/ レイ -(2019/02/09(Sat) 14:40:01)
    No90109 (WebSurfer さん) に返信

    WebSurferさん

    コメントありがとうございます。

    すいません、環境ですが
    DB:PostgreSQL
    開発環境
    OS :Windows7 32bit
    .NET Framework :4.5
    Visual Studio :Express 2015
    になります。

    >>質問者さんのコードは理解できませんし
    わかりにくくて申し訳ありません。
    今回PGの修正を行っているのですが、
    Linqを扱うのが初めてで、既存コードから流用したり
    ネット検索でヒットしたコードを組み合わせて
    いろいろ試したのみたですが、全く改善しないため、
    困り果てて質問させていただきました。

    やりたいこととしては
    @DBから商品マスタを取得
    ADBから出庫データを取得
     →出庫データには単価が入っていないため、C#の単価取得関数を呼び出す必要があり、
      出庫データをDataTableに格納し、for eachでループしながら
      DataTableに書き出し
    BDataTableを商品コードごとに集計
    C@とBをjoinして、最終結果を出力
    となります。

    WebSurferさんが載せていただいているURLも確認し、
    Castさせてもみたんですが、結果は変わらず。

    出庫データについては、単価を単価マスタから取得する必要があるため、
    一度DataTableにセットし、取得関数を呼び出してセットしています。


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

■90112  Re[5]: LINQでJOIN時のエラーについて
□投稿者/ WebSurfer -(2019/02/09(Sat) 14:40:40)
    No90111 (レイ さん) に返信

    エラーを再現できました。原因も分かりました。

    私のレス No90109 のコードは、delivery を含めた test のコード全体を Linq to Entities と
    して SQL に変換することができ、foreach (var x in test) で DB に SQL を投げることができ
    るので問題なかったということのようです。

    delivery に ToList() を適用したあと、それを test の Linq To Entities のコードに組み込
    むと、その形では SQL に変換することができないので、質問者さんと同じエラーとなります。

    質問者さんのコードの deliverycontext は Linq to Object で、そのコードを実行すると即時に
    匿名型のコレクションを取得するはずです。即ち、私のコードの delivery に ToList() を適用
    したのと同じことです。

    質問者さんのコード var test = from a in shohin ... は Linq to Entities ですよね? だか
    ら、匿名型のコレクションが混ざっていると SQL に変換することができなくてエラーになったの
    だと思います。

    No90108 の私のレスで書いた「LINQにも色々 〜SQLに変換されるモノと変換されないモノ」は
    やっぱり関係があったようです。

    解決策は、質問者さんのコードで言うと deliverycontex と test のところのクエリを、

    (1) 両方とも Linq to Entities にする。それができなければ、

    (2) 両方とも Linq to Object にする。

    ・・・ということでよさそうです。
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90113  Re[5]: LINQでJOIN時のエラーについて
□投稿者/ WebSurfer -(2019/02/09(Sat) 15:08:22)
    No90111 (レイ さん) に返信
    
    ご参考に検証に使ったコードをアップしておきます。
    
    コメントの「// 質問者さんのコードのように DataTable 経由で取得してみる」以降を追加して
    います。読んでもらえば上で説明したことが分かりやすいと思います。
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.Entity;
    using System.Data;
    using System.Data.SqlClient;
    
    namespace ConsoleAppJoinByLinq
    {
        class Program
        {
            static void Main(string[] args)
            {
                NORTHWINDEntities context = new NORTHWINDEntities();
    
                // これは Linq to Entities
                var delivery = from d in context.Order_Details
                               group d by d.ProductID into g
                               orderby g.Key
                               select new
                               {
                                   ItemCode = g.Key,
                                   Count = g.Sum(x => x.Quantity),
                                   SumAmount = g.Sum(x => x.UnitPrice * x.Quantity)
                               };
    
                // これも Linq to Entities
                var test = from p in context.Products
                           join d in delivery
                           on p.ProductID equals d.ItemCode into dGroup
                           from item in dGroup.DefaultIfEmpty()
                           select new
                           {
                               ItemCode = p.ProductID,
                               Name = p.ProductName,
                               Count = item.Count,
                               SumAmount = item.SumAmount
                           };
    
                // delivery を含めた test のコード全体を Linq to Entities として SQL に変換することができ、
                // foreach で DB に SQL を投げることができ るので問題ない。
                foreach (var x in test)
                {
                    Console.WriteLine($"ID: {x.ItemCode}, Name: {x.Name}, Count: {x.Count}, Sum: {x.SumAmount}");
                }
    
                // 質問者さんのコードのように DataTable 経由で取得してみる
                string connString = @"data source=lpc:(local)\sqlexpress;initial catalog=NORTHWIND;integrated security=True;";
                string selectquery = "SELECT [OrderID],[ProductID],[UnitPrice],[Quantity],[Discount] FROM [Order Details]";
                DataTable table = new DataTable();
                using (SqlConnection connection = new SqlConnection(connString))
                {
                    using (SqlCommand command = new SqlCommand(selectquery, connection))
                    {
                        SqlDataAdapter adapter = new SqlDataAdapter(command);
                        adapter.Fill(table);
                    }
                }
    
                // これは Linq to Object
                var delivery2 = from d in table.AsEnumerable()
                                group d by d.Field<int>("ProductID") into g
                                orderby g.Key
                                select new
                                {
                                    ItemCode = g.Key,
                                    Count = g.Sum(x => x.Field<Int16>("Quantity")),
                                    SumAmount = g.Sum(x => x.Field<decimal>("UnitPrice") * x.Field<Int16>("Quantity"))
                                };
    
                // delivery2 は Linq to Enitities ではない匿名型のオブジェクトのコレクション。
                // それを上のような Linq to Entities のクエリに組み込むと SQL に変換できないということで以下のエラーになる。
                // System.NotSupportedException: Unable to create a constant value of type 'Anonymous type'. 
                // Only primitive types or enumeration types are supported in this context.
    
                // 可決策は以下のように両方 Linq to Object とすること。
                var products = context.Products.ToList();
    
                var test2 = from p in products
                            join d in delivery2
                            on p.ProductID equals d.ItemCode into dGroup
                            from item in dGroup.DefaultIfEmpty()
                            select new
                            {
                                ItemCode = p.ProductID,
                                Name = p.ProductName,
                                Count = item.Count,
                                SumAmount = item.SumAmount
                            };
    
                foreach (var x in test2)
                {
                    Console.WriteLine($"ID: {x.ItemCode}, Name: {x.Name}, Count: {x.Count}, Sum: {x.SumAmount}");
                }
            }
        }
    }
    
    結果はいずれも以下の通りとなります。
    
    ID: 1, Name: Chai, Count: 828, Sum: 14277.6000
    ID: 2, Name: Chang, Count: 1057, Sum: 18559.2000
    ID: 3, Name: Aniseed Syrup, Count: 328, Sum: 3080.0000
    ・・・中略・・・
    ID: 77, Name: Original Frankfurter grune Sose, Count: 791, Sum: 9685.0000
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90114  Re[6]: LINQでJOIN時のエラーについて
□投稿者/ レイ -(2019/02/09(Sat) 20:52:37)
    No90113 (WebSurfer さん) に返信

    WebSurfer さん

    コメントありがとうございます。

    説明だけではなく、ご丁寧に検証で作られたソースも
    アップしていただき、助かりました。

    確かにソースを見ながら説明を読ませていただくと、
    なるほど理解ができました。

    私は単純に、2つのテーブルをjoinする際に、
    equalsで結ぶ項目の型が違うから、と認識していましたが、
    そもそものLinq自体の型?が違う、ということですね。
    勉強になりました。

    Linq to ObjectとLinq to Entitiesという言葉も
    今回初めてお聞きした状態で、お恥ずかしい限りです。

    次に試せるのが2月13日(水)になりますので、
    その時に確認させていただきます。

    本当にお世話になりました。

    なお、念の為確認後に「解決済み」にさせていただきたいと思います。
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90115  Re[7]: LINQでJOIN時のエラーについて
□投稿者/ WebSurfer -(2019/02/09(Sat) 22:48:45)
    No90114 (レイ さん) に返信

    > そもそものLinq自体の型?が違う、ということですね。
    >
    > Linq to ObjectとLinq to Entitiesという言葉も

    紹介した記事、

    LINQにも色々 〜SQLに変換されるモノと変換されないモノ
    https://codezine.jp/article/detail/8474

    の図を見ていただくと、一目瞭然と思いますので、是非見ていただければと・・・
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90120  Re[7]: LINQでJOIN時のエラーについて
□投稿者/ WebSurfer -(2019/02/10(Sun) 10:20:25)
    No90114 (レイ さん) に返信

    【追伸】

    上の私が書いたサンプルコードの DB は、上のレスにも書きましたが、全て SQL Server を使って
    います。

    質問者さんの DB は PostgreSQL だそうですが、当然ドライバやデザイナツールは SQL Server の
    ものとは異なるはずですので、同じ結果になるかどうかは分かりません。その点ご注意ください。
記事No.90105 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90124  Re[8]: LINQでJOIN時のエラーについて
□投稿者/ レイ -(2019/02/10(Sun) 19:30:42)
    No90120 (WebSurfer さん) に返信

    WebSurferさん

    コメントありがとうございます。

    ご指摘ありがとうございます。

    確かに載ってますね。
    勉強させていただきます。

    DBの違いについても了解しました。

    確認して、また結果はご報告させていただきます。

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

■90194  Re[9]: LINQでJOIN時のエラーについて
□投稿者/ レイ -(2019/02/15(Fri) 22:22:42)
    No90120 (WebSurfer さん) に返信

    WebSurferさん

    遅くなり申し訳ありません。

    ご教授いただいた方法で、うまく動作しました。

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

■90785  vb.net 配列をaccsessへinsert
□投稿者/ せれねる -(2019/04/22(Mon) 11:44:13)

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

    お世話になります。

    今現在、vb.netにて

    1. mdbファイルから起動時の「会員」のデータを取得
    2. 「現在の日時」を取得
    3. あらかじめ作成されている「会員ログイン」に「会員」のデータと「exeファイル起動時の日時」をinsert

    という機能を作成しており3項目の
    mdbファイルに「DataTable」または「datarow」の値をaccsessへinsertする方法をうまく探す出すことが
    できませんでした。


    --------------------------------------------------------
    ■vb.netコード

    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
    Try
    ''ユーザーグリッドの初期設定有効
    Call m_userControlClass.UserCtrlInitialize(Me)
    'DBコネクション生成
    Dim oleCon As New OleDb.OleDbConnection()
    Dim oleDataAd As OleDb.OleDbDataAdapter
    Dim dtSet As New DataSet()
    Dim dtTable As New DataTable
    Dim dr As DataRow = dtTable.NewRow
    Dim dc = New DataColumn
    Dim strSql As String

    Dim dtime As DateTime = New DateTime

    '接続文字列を作成
    oleCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
    & "Data Source= C:\テストDB\てすと会員.mdb;" _
    & "Persist Security Info=False"

    'SQL文を作成
    strSql = "Select kaiinID,Name1,kaiinPref,kaiinCity,kaiinPhone,kaiinFax from kaiin"
    'レコードを取得
    oleDataAd = New OleDb.OleDbDataAdapter(strSql, oleCon)
    oleDataAd.Fill(dtSet, "kaiin")
    'データセットから「会員」テーブルを取得
    dtTable = dtSet.Tables("kaiin")


    '「exeファイル起動時の日時」を取得するため列の名前を設定
    dc.ColumnName = "totime"
    ' 初期値
    dc.DefaultValue = String.Empty
    ' データ型
    dc.DataType = Type.GetType("System.String")
    ' 「exeファイル起動時の日時」列を取得した「会員」へ追加
    dtTable.Columns.Add(dc)

    Dim iRowCount As Integer
    Dim iColCount As Integer
    For iRowCount = 0 To dtTable.Rows.Count - 1
    For iColCount = 0 To dtTable.Columns.Count - 1
    Console.Write(dtTable.Rows(iRowCount)(iColCount) & ControlChars.Tab)
    Next

    For Each row As DataRow In dtTable.Rows
              ' 「exeファイル起動時の日時」をrow("totime")へ格納
    row.Item("totime") = System.DateTime.Now
    Console.WriteLine(row("totime").ToString)
    Next
    Next

    Catch ex As Exception


    Finally

    End Try
    End Sub

    --------------------------------------------------------

    ■上記コードのおおまかな概要
    「てすと会員.mdbのkumiaiテーブル」からselect文で取得した「datatable」をrowに渡し、
    「row」の中に「totime」という列を作成しそこに「現在時刻」を入れ込む

    --------------------------------------------------------

    ■mdbのテーブルデータ

    kaiinテーブルの列

     KumiaiID,SeikyuName1,KumiaiPref,KumiaiCity,KumiaiPhone,KumiaiFax

    kaiinログインテーブルの列

     KumiaiID,SeikyuName1,KumiaiPref,KumiaiCity,KumiaiPhone,KumiaiFax,totime

    --------------------------------------------------------

    当方、vb.netを触り始めて1週間のド素人になります。

    非常に拙いコードで申し訳ありません。


    何卒ご教授のほどよろしくお願いいたします。


親記事 /過去ログ156より / 関連記事表示
削除チェック/

■94827  Re[3]: SQLSsrverからDataGridViewに表示したい
□投稿者/ かわにのにわか -(2020/05/22(Fri) 08:59:24)
    SQLServer認証 SQLServerを使うときの認証のやり方のひとつで、普通にIDとパスワードを使って認証を行う認証のやり方
    Windows認証 Windowsのコンピュータにログインするときに使った認証情報を使いまわして認証を行う認証のやり方
    ということですね。

    ありがとうございます。
    Windows認証で十分ですね。


    Public Class SQLSample
     Public Sample Sub Main()

      'データベースへの接続
      Dim Con As New SqlClient.SqlConnection
      Con.ConnectionString = _
      "Data Source = [サーバ名];" & _
      "Initial Catalog = [データベース名];" & _
      "Integrated Security = SSPI"

     Try

      Con.Open()
      Dim command As New SqlClient.SqlCommand

      'コネクションの指定
      command.Connection = Con

      'コマンドの種類をテキストにする(省略可)
      command.CommandType = CommandType.Text

      '実行するSQLを指定
      command.CommandText = "SELECT * FROM [テーブル名]"

      'SQLの結果を取得する
      Dim sr As SqlClient.SqlDataReader
      sr = command.ExecuteReader()

      command.Dispose()

      '取得した結果を出力する
      While sr.Read

       'レコードの最初の項目を出力
        Console.Write(sr(0).ToString & ",")

       'レコードの2番目の項目を出力
        Console.Write(sr(1).ToString)

      End While

     Finally
      'コネクションの破棄
      If Con.State <> ConnectionState.Closed Then 
        Con.Close()
       Con.Dispose()
      End If

     End Try
    End Sub
    End Class


    これのレコードの項目の出力先をDataGridViewにすれば良いのでしょうか?
記事No.94781 のレス /過去ログ164より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -