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

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

新規登録して質問してみよう
ただいま回答率
85.48%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

7345閲覧

VB.netでSQLserverのテーブルの内容を配列にコピーしたいです。

xxraio

総合スコア21

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

1クリップ

投稿2015/09/29 03:07

編集2015/09/29 03:23

初めて投稿します。
失礼な点、変な文章、わかりにくいなどありましたら申し訳ありません。ご指摘ください
###前提・実現したいこと
現在、SQLserver内の住所情報を元にGoogle maps apiでその位置を表示させようと思っています。
全ての住所情報のマーカーを表示させたいのでSQLserver内のテーブルの内容を配列にコピーして、for文で配列内の住所情報を取得し、マーカーを表示したいです。
その配列にコピーする仕方を教えていただけないでしょうか。
.aspx内のVBに配列を作って、それをjavascript部分に渡したほうがよいのか。
それとも.aspx内のjavascript部分に配列を作ったほうがよいのかもお聞きしたいです。

よろしくお願いいたします。

###補足情報(言語/FW/ツール等のバージョンなど)
言語はVB.net
ツールはvisual studio2013 です。

失礼いたしました。ASP.netはwebフォームです。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tak1wa

2015/09/29 03:16

ASP.NET は MVCですか?WebFormですか?
guest

回答1

0

ベストアンサー

こんにちは。

Webフォームなので古典的な対応方法になると思いますが。

.aspx内のVBに配列を作って、それをjavascript部分に渡したほうがよいのか。
それとも.aspx内のjavascript部分に配列を作ったほうがよいのかもお聞きしたいです。

GoogleMapAPIはJavaScriptからの呼び出しになるので結局実装次第です。
なので、上記についてはどちらでも良いでしょう。(たぶん)

渡す方法については以下のどれかでしょうかね。

1.何らかの方法で値のみ渡す
http://7ujm.net/asp/javascript2.html

2.サーバーサイドでJavaScriptに埋め込む
http://software.yworks.net/etc/googlemap.html

3.クライアントサイドからサーバーサイドにデータアクセスする(AJAX)
http://www.atmarkit.co.jp/fdotnet/dotnettips/755aspajaxgmaps/aspajaxgmaps.html

※もしかして今時AJAXなんて使わない?でしたらすみません。

投稿2015/09/29 03:34

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xxraio

2015/09/29 03:50

回答大変ありがとうございます。 値への受け渡しについて参考にさせていただきます。 SQLserver内のテーブルの内容を配列にコピーして、for文で配列内の住所情報を取得し、マーカーを表示したいので、そこをお教えいただけないでしょうか。
Tak1wa

2015/09/29 03:58 編集

> SQLserver内のテーブルの内容を配列にコピーして、for文で配列内の住所情報を取得し、マーカーを表示したいので、そこをお教えいただけないでしょうか。 いまどこまで出来ているのでしょうか。どのレベルから教えれば良いのかわからないです。(SQLServerからのデータ取得方法?for文の回し方?マーカーの表示方法?) どういったテーブルレイアウトかもわかりませんし、レイアウトがわかったところで回答者は膨大な情報を教えなければいけないです。 こういったQAサイトでは現時点でどこまで出来ていて、暫定的にこう実装しているが期待どおりの結果にならない。というところまで質問者がまず試行錯誤した結果をたたき台として提示するのがお薦めです。 SQLServerとASP.NETの接続例:http://naoko.wankuma.com/beginner/beginner_0017_webDbApp02.html マーカーの作成:http://www.ajaxtower.jp/googlemaps/gmarker/index1.html
xxraio

2015/09/29 05:29 編集

申し訳ありませんでした。 プログラミング経験も浅く、こういったQAサイトを使うのも初めてでしたので、お気を悪くさせたなら申し訳ありません。 テーブル内容は テーブル名 mapinfo mid int place varchar(50) url varchar(250) longitude float latitude float memo varchar(250) となっており、 longitudeとlatitudeが住所情報(緯度と経度)になっております Dim cn As New SqlConnection("~sqlserverに接続~") cn.Open() Dim cmd As New SqlCommand("select * from mapinfo",cn) Dim dr As SqlDataReader = cmd.ExecuteReader()   ’ここまでがSQLserverにつなぐ構文 Dim hairetu(,) As String ’2次元配列を用意 ここから先がわからない状態です。 まずhairetuはstringでよいのか。 行と列の大きさはどうやって取得すればよいのか。 がわからない状態です。
Tak1wa

2015/09/29 05:39

気になさらないでください。問題点というのは全てを一気に解決するのは難しいです。ひとつづつ解決していきましょう。 まずデータアクセスからですね。 cmd.ExecuteReaderでクエリ発行は行っていますので、SqlDataReaderからデータの取り出しを行いましょう。まず以下を参考にしてください。 http://jeanne.wankuma.com/tips/vb.net/sqlserver/executereader.html SqlDataReaderインスタンスに対してRead()を繰り返し1レコードづつ値を取得していきます。ここまでOKでしょうか。 次はどういう形でデータを保持するかですが、ADO.NETであればDataSet(DataTable)またはDBテーブルと同じ構成の独自クラスを作成しList(Of XXX)というリスト形式でどんどんAddしていくのが良いと思います。
xxraio

2015/09/29 09:32

ありがとうございます。DataTable型で作ってみました。 Dim T1 As New DataTable With T1 .Columns.Add("mid") .Columns.Add("place") .Columns.Add("url") .Columns.Add("longitude") .Columns.Add("latitude") .Columns.Add("memo") End With While dr.Read() T1.Rows.Add((CType(dr("mid"), Integer)), (CType(dr("place"), String)), (CType(dr("url"), String)), (CType(dr("longitude"), Single)), (CType(dr("latitude"), Single)), (CType(dr("memo"), String))) End While と一行ずつ取得したあとに MsgBox(T1.Rows.Item(0)(3)) を行ってlongitudeの中身を確認してみました。 すると本来のデータベーステーブルにはいっている中身は139.767036なのですが Msgboxで表示してみた結果139.767となり、6桁しか表示されませんでした。 これは中身は6桁しか格納されていないのか、それとも表示だけ6桁で中身は9桁あるのでしょうか? 何度も何度も質問してしまい、申し訳ありません。
xxraio

2015/09/29 09:39

申し訳ありません。singleの有効桁数が7桁ということをしりませんでした。 doubleに変更することで表示されました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問