tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルSQLからLabelに入れるやり方
記事No3015
投稿日: 2006/01/31(Tue) 18:42
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  

SQLを発行して呼んできたデータをLabelに入れたいのですが、どこをどう変えれば分かりません。
どなたか教えてください。お願いします。

namae = Me.Label1.Text  ←ここは入ります

ココのSQLから呼んできたデータをLabel2に入れたいのです。
objOleDbDataAdapter = New OleDb.OleDbDataAdapter("SELECT 国外車.排気量 FROM 国外車 WHERE
(バイク名 = namae) ", strConnectionstring)
objOleDbDataAdapter.Fill(objDataTable)
haiki = Me.Label2.Text

[ツリー表示へ]
タイトルRe: SQLからLabelに入れるやり方
記事No3017
投稿日: 2006/01/31(Tue) 20:01
投稿者なおこ(・∀・)
お世話になります。

> ココのSQLから呼んできたデータをLabel2に入れたいのです。
> objOleDbDataAdapter = New OleDb.OleDbDataAdapter("SELECT 国外車.排気量 FROM 国外車 WHERE
> (バイク名 = namae) ", strConnectionstring)
> objOleDbDataAdapter.Fill(objDataTable)
> haiki = Me.Label2.Text
結果が必ず一行なのか、そうでないのかわかりませんが、
とりあえず、先頭行の項目であれば、
objDataTable.Rows(0)("排気量") で 先頭行の 国外車.排気量 が取れます。

hhttp://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/cpref/html/frlrfSystemDataDataTableClassRowsTopic.asp
理由は ↑の
Private Sub PrintRows(myDataSet As DataSet)
を見てみて下さい。

[ツリー表示へ]
タイトルRe^2: SQLからLabelに入れるやり方
記事No3027
投稿日: 2006/02/01(Wed) 15:12
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  
返信ありがとうございます。

データベースに300件ほどあり、その中からnamaeと一致したものを、
レコードから排気量があります。

具体的にどこをどのように変更すればよろしいですか?
お手数ですが、よろしく願いします。

[ツリー表示へ]
タイトルRe^3: SQLからLabelに入れるやり方
記事No3029
投稿日: 2006/02/01(Wed) 16:25
投稿者なおこ(・∀・)
お世話になります。

たとえば、ですが。

クラスのメンバ変数に以下の様に宣言しておいて
===============================================
Private m_dt As DataTable = New DataTable
===============================================

Form_Load 等で
以下の様なコードを書いて、
(※コネクションなどのオブジェクトの破棄については
hhttp://jeanne.wankuma.com/tips/programing/dispose.html を参照)
===============================================
Dim oleCon As OleDb.OleDbConnection = New OleDb.OleDbConnection("接続文字列")
Dim da As OleDb.OleDbDataAdapter
oleCon.Open()
da = New OleDb.OleDbDataAdapter
da.SelectCommand = New OleDb.OleDbCommand
da.SelectCommand.Connection = oleCon
da.SelectCommand.CommandText = "SELECT バイク名, 排気量 FROM 国外車"

Me.m_dt.Clear()
da.Fill(Me.m_dt)
===============================================

Button1 を クリックした時に、
TextBox1 に入力されたバイク名の排気量を、Label1 に 表示するのは、こんな感じ。
===============================================
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
  Handles Button1.Click
  Dim rows() As DataRow = Me.m_dt.Select("バイク名='" + Me.TextBox1.Text + "
'")
  If rows.Length < 1 Then
    Me.Label1.Text = "" '該当するものがない
  Else
    Me.Label1.Text = DirectCast(rows(0)("排気量"), String)
  End If
End Sub
===============================================

[ツリー表示へ]
タイトルRe^4: SQLからLabelに入れるやり方
記事No3036
投稿日: 2006/02/02(Thu) 15:33
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  
返信ありがとうございます。

"接続文字列"とありますが、何を入れればよろしいでしょうか?

私は、接続させるのに、
Dim strConnectionstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & &quo
t;Data
Source=E:\sotusei\bin\db1.mdb;"
と書いていますが、教えて頂いた物を使用しますと、
エラーが出ます。
どのように改善すればよろしいでしょうか?
よろしくお願いします。

[ツリー表示へ]
タイトルRe^5: SQLからLabelに入れるやり方
記事No3038
投稿日: 2006/02/02(Thu) 17:32
投稿者なおこ(・∀・)
お世話になります。

> "接続文字列"とありますが、何を入れればよろしいでしょうか?
こちらを参照してください。
hhttp://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/Vbcon/html/vbtskcreatingconnectiontoaccessdatabase.asp

hhttp://www.connectionstrings.com/

> 私は、接続させるのに、
>  Dim strConnectionstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;" &
&quo
> t;Data
> Source=E:\sotusei\bin\db1.mdb;"
> と書いていますが、教えて頂いた物を使用しますと、
> エラーが出ます。

エラーとは?例外が投げられるという事ですよね。
具体的には、どのような例外が投げられ、どのようなメッセージがでましたか?

[ツリー表示へ]
タイトルRe^6: SQLからLabelに入れるやり方
記事No3043
投稿日: 2006/02/03(Fri) 18:35
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  
返信ありがとうございます。

実行結果 "接続文字列"は何とかできました。

エラーとは、ブレイクポイントを入れて実行しますと、
Form11に戻り、無限ループに入り抜けれなくなります。

教えて頂いた、IF文で
rows.Length に値が入りません。
Me.TextBox1.Text にはちゃんとデータが、入っています。

Load文で私は、このように設定しています。
この一文がもしかしていけないのですか?
よろしくお願いします。
=========================================
Try
  objOleDbDataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM 国内車 WHERE (((排気量)
>400) AND ((メーカー別ID)=1)) ", strConnectionstring)
                        objOleDbDataAdapter.Fill(objDataTable)
                    Catch Ex As Exception
                        MsgBox(Ex.Message, MsgBoxStyle.Exclamation)
                        Exit Sub
                    End Try
                    With ComboBox3
                        .DisplayMember = "バイク名"
                        .DataSource = objDataTable
                    End With

[ツリー表示へ]
タイトルSQLからLabelに
記事No3045
投稿日: 2006/02/03(Fri) 18:51
投稿者なおこ(・∀・)
お世話になります。

> エラーとは、ブレイクポイントを入れて実行しますと、
> Form11に戻り、無限ループに入り抜けれなくなります。
ちょっと解らないのですが、
Form11 って何ですか?
ループしているところが見当たりませんが、どこで無限ループになるのですか?

> 教えて頂いた、IF文で
> rows.Length に値が入りません。
> Me.TextBox1.Text にはちゃんとデータが、入っています。
DataTable の中にもちゃんと値が入っていますか?
バイク名って、文字列型であってますか?

> Load文で私は、このように設定しています。
> この一文がもしかしていけないのですか?
特に問題なさそうに思いました。

[ツリー表示へ]
タイトルSQLからLabelに
記事No3047
投稿日: 2006/02/04(Sat) 10:47
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  
返信ありがとうございます。

今SQLを使っているのはFomr2でブレイクポイントを入れています。
その際Fomr1に戻って無限ループになぜか入ってしまいます。

> バイク名って、文字列型であってますか?
Accessではテキスト型で設定しています。

よろしくお願いします。

[ツリー表示へ]
タイトルRe: SQLからLabelに
記事No3049
投稿日: 2006/02/04(Sat) 19:27
投稿者なおこ(・∀・)
お世話になります。

> 今SQLを使っているのはFomr2でブレイクポイントを入れています。
> その際Fomr1に戻って無限ループになぜか入ってしまいます。
いえ、その" 無限ループ に入る "ところって、具体的に
どういうコードのところなんですか?
ステップ実行などで、確認してみて、
該当箇所のコードをはりつけてみて下さい。

[ツリー表示へ]
タイトルRe^2: SQLからLabelに
記事No3050
投稿日: 2006/02/04(Sat) 21:01
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  
返信ありがとうございます。

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
        Dim f6 As New Form6
        Dim rows() As DataRow = Me.m_dt.Select("バイク名='" + Me.TextBox1.Text + "'")
        If rows.Length < 1 Then
            Me.Label1.Text = "" '該当するものがない
        Else
            Me.Label1.Text = DirectCast(rows(0)("排気量"), String)
            Me.Hide()
            f6.ShowDialog()
        End If
    End Sub

このあと
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Timer1.Tick
        Me.PictureBox1.Left = Me.PictureBox1.Left - 10
        If Me.PictureBox1.Left < -Me.PictureBox1.Width Then
            Me.PictureBox1.Left = Me.Width
        End If
    End Sub
に移り、無限ループに入ります。

よろしくお願いします。

[ツリー表示へ]
タイトルSQL
記事No3051
投稿日: 2006/02/05(Sun) 11:51
投稿者なおこ(・∀・)
お世話になります。

> このあと
>  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles
> Timer1.Tick
> …(略)
> に移り、無限ループに入ります。
こちらのコードって、Timer コントロール と PictuerBox コントロール の
操作だけに関するコードですよね?
PictuerBox の幅を何か操作しているようですが、
今回のご質問の DataBase から値を取得して Label に云々の問題とは
当方で見た限り、全く関係ありません。
色々な事をいっきにやろうとすると、問題の切り分けがむずかしくなります。
まずは、DataBase から値を取得して Label に表示する事だけに専念した方がよさそうです。

また、DataBase から値を取得して Label に云々の問題 が解決していて、
他の問題で詰まっていらっしゃるのなら、別スレッドでやった方がいいかもしれません。

[ツリー表示へ]
タイトルSQL
記事No3054
投稿日: 2006/02/06(Mon) 17:07
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  

返信ありがとうございます。

問題の方はなんとか解決いたしました。
ありがとうございました。

[ツリー表示へ]
タイトルRe: SQLからLabelに入れるやり方
記事No3018
投稿日: 2006/01/31(Tue) 20:05
投稿者じゃんぬねっと
参照先http://jeanne.wankuma.com/
> ココのSQLから呼んできたデータをLabel2に入れたいのです。

以下は逆のことをしていますよね。

> haiki = Me.Label2.Text

とりあえず参考リンクをおいておきます。

 DBからの値の取得
 hhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26244&forum=7

[ツリー表示へ]
タイトル私宛のメールで問い合わせた件について
記事No3028
投稿日: 2006/02/01(Wed) 15:16
投稿者じゃんぬねっと
参照先http://jeanne.wankuma.com/
こんにちは、しーぽん さん。

直接私にメールを飛ばして依頼されたようですが、
私は個人のために回答をすることができない人間です。

インターネット リソースと自分のために回答をしています。
そのため、メールで問い合わせをされると意義がなくなります。
掲示板や ML で回答をすると、後から同じ問題で悩む人の手助けになりますが、
メールとなると、それは質問者のためだけに他なりません。

また、こういった行為は利己主義的な考えであると誤解されてしまいます。
老婆心ながら、おやめになられた方が良いと思います。

ぜひ、こちらで続けてください。
この質問は、後で誰かのためになるのかもしれません。

それを承知の上で、メールを送られたのであればそれはそれで悪いとは思いません。
私は不快だとは思いません。ただ勿体無いと感じるだけです。

> 改善したものを作ってはいただけますか?

とありましたが、仕事の依頼として受け取ってよろしいでしょうか?
私は、若年ということもあり単価は @4,500 円 / 1H 程度ですのでお値打ちではあります。

[ツリー表示へ]
タイトルRe: 私宛のメールで問い合わせた件について
記事No3037
投稿日: 2006/02/02(Thu) 15:35
投稿者しーぽん
[OSのVer]:Windows    [VBのVer]:VB.NET  
わかりました。
VBレスキューにてがんばります。

[ツリー表示へ]