質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.78%

C# 接続文字列を使用してSQL マネイジメントスタジオのテーブルをVisual Studio2017のFormに表示させたい

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 931

milkwalking

score 60

接続文字列を使用してSQL マネイジメントスタジオのテーブルをVisual Studio2017に接続したいです。
接続文字列の書き方調べたんですが、、、ネットで見つけるのが難しかったです
現在サーバー名、ユーザー名はわかってます


■追記
SQLのバージョンです!
Microsoft SQL Server 2014 - 12.0.2269.0 (X64) 
Jun 10 2015 03:35:45 
Copyright (c) Microsoft Corporation
Express Edition (64-bit) on Windows NT 6.3 <X64> (Build 17763: )

上記 ウィンドウズ認証でログインしております!

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

SQL Server の質問をしているのですから、SQL Server のバージョン、エディションを書きましょうよ。

接続文字列を使用してSQL マネイジメントスタジオのテーブルをVisual Studio2017に接続したいです。

SQL Server Management Studio からは SQL Server に接続しているのでしょうから、Visual Studio からも SQL Server に接続することになります。

サーバーエクスプローラーを使うと以下のような感じ。

イメージ説明

SQL Server Object Explorer を使うと以下のような感じ。

イメージ説明

【追伸】

ひょっとして、やりたいことは Visual Studio を使って開発中の C# のアプリケーションから SQL Server に接続してデータの取得、表示、編集、更新をしたいということ? であれば、もっと具体的に何をしたいのかを書いてください。今の質問の内容では全くの情報不足です。

【追伸2】

下のコメントで「まずは Visual Studio のウィザードを利用した定番のアプリを作ってみませんか? 具体的な方法は回答欄に追試しておきます」と書きましたが、それを以下に書きます。

SQL Server Express を使っているとのことですが、データベースは既に SQL Server Management Studio 等を使って SQL Server Express に生成済みなのですよね?

であれば、以下のチュートリアル、

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

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

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

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

下の画像は単一テーブルを DataGridView に表示し、ユーザーが編集・更新できるようにしたものですが、このようなアプリがウィザードベースで、自力では一行もコードを書かなくても作れます。操作に慣れると 10 分もかからず作れるはずです。

イメージ説明

自力で一からコードを書く場合のような種々の問題に悩むことはなくなり(今回悩んだ接続文字列は自動的に作成され Settings ファイルに保存されます)、開発工数は激減するはずです。保守工数も減るはずです。お試しください。

質問の「追記2 実装したい機能に5つ」はその後で考えてみることをお勧めします。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/23 14:32

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

    SQL Server の質問をしているのですから、SQL Server のバージョン、エディションを書きましょうよ。
    ←本当に申し訳ありません。
    まだ学習をはじめたばかりでつたない情報量でした。
    追記でログイン情報とバージョンを調べて更新させていただきました。

    キャンセル

  • 2019/04/23 15:04

    結局やりたいことは Visual Studio を使って開発中の C# のアプリケーションから SQL Server に接続して質問欄の「追記2」に書いたようなことがしたいのですか? 接続文字列の書き方すらおぼつかない状況で、それら全部をここで質問して解決するのは無理だと思います。まずは Visual Studio のウィザードを利用した定番のアプリを作ってみませんか? 具体的な方法は回答欄に追試しておきます。

    キャンセル

+1

接続文字列を使用してSQL マネイジメントスタジオのテーブルをVisual Studio2017に接続したいです。

ManagementStudioのテーブルと言うよりSQLServerのテーブルですね。
それをVisualStudio2017で作ったフォームに表示したいのでしょうか?

接続文字列についてですが、Windows統合認証とSQLServer認証の2つがあります。
ManagementStdioでテーブルが見れているわけですからどのようにログインしましたか?

"Data Source=サーバー名orIPアドレス(\\インスタンス名);" //既定のインスタンスではなくインスタンスを作成している場合は\\インスタンス名が必要です。
+ "Initial Catalog="データベース名;" 'データベース名を追加しました。
+ "Integrated Security=False;" 'True=Windows統合認証、False=SQLServer認証
+ "User ID=(ユーザー名);"
+ "Password=(パスワード)"; 

Windows認証ではユーザー名とパスワードはいりません。
SQLServer認証ではsaなどのユーザーに対するパスワードです。

また、接続完了後はDataGridViewなどに表示したいのでしょうか?
とある列のとある行だけをLabelなどに表示したいのでしょうか?

おまけ

いろんなやり方があるとは思いますが。

DataTable dta = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(”select * from テーブル名”, "接続文字列");
da.Fill(dta);
dataGridView1.DataSource = dta;
dataGridView1.ReadOnly = true; //編集不可
dataGridView1.AllowUserToAddRows = false; //追加行非表示

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/23 14:30

    ご回答ありがとうございます

    Windows認証でログインいたしました。
    上記追記のバージョン的に
    "Data Source=.\SQLEXPRESS;Initial Catalog={データベース名};Integrated Security=True;"
    となるのでしょうか、、、

    また、接続完了後はDataGridViewなどに表示したいのでしょうか?
    ←はい!DataGridViewでテーブルの表を表示したいです。

    さらに検索機能などもこれから実装予定です。

    キャンセル

  • 2019/04/23 14:34

    \は\\と2ついると思います。

    DataGridviewはDataAdapterとDataTableを使うと比較的簡単に表示できます。

    キャンセル

  • 2019/04/23 14:41

    ありがとうございます!!

    "Data Source=.\\SQLEXPRESS;Initial Catalog={データベース名};Integrated Security=True;"
    もしくは
    @"Data Source=.\SQLEXPRESS;Initial Catalog={データベース名};Integrated Security=True;"
    でもいいでしょうか?

    DataAdapter
    DataTable
    これらは初耳なので調べてみます

    キャンセル

  • 2019/04/23 17:29

    上の接続文字列の””内の最後の;を外せばよいと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • C#に関する質問
  • C# 接続文字列を使用してSQL マネイジメントスタジオのテーブルをVisual Studio2017のFormに表示させたい