tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルデータが読めない
記事No10075
投稿日: 2010/04/26(Mon) 11:29
投稿者年配おじさん
はじめまして
初めて質問させていただきます。
職場のプログラム(visual studio 2005)を手本にして
学習していますが、SQL文を当てはめて実際に読めるかどうか
ためしました。

しかし同じデータにもかかわらず数字によって読めない事象があり
どうしてもわかりません。

すみませんが、ご教授のほどよろしくおねがいします。
つくったのは下記のとおりです。(自分では正しいものと思っているのですが)

1.            Dim edaban As String = ""
2.            Dim magono As String = ""
3.            Dim job As String = "10"
4.                SQL = SQL + vbCrLf + "SELECT DKNO"
5.                SQL = SQL + vbCrLf + "FROM INPUTQUA"
6.                SQL = SQL + vbCrLf + "WHERE JOBCD='" + job + "'"
7.                SQL = SQL + vbCrLf + "AND DKNO=" + txtDkNO.Text
8.                SQL = SQL + vbCrLf + "AND TAN='" + txtTan.Text + "'"
9.                dSoko = clData.gfSelect("INPUTQUA", SQL)
10                If dSoko.Rows.Count > 0 Then
11                    MessageBox.Show("データがあります。")
12               Else
13                    MessageBox.Show("データがありません。")
14               End If


データは3行目のjobが 1、2、10 の3行のデータがあります。
job を2と指定すると「データがあります。」とメッセージがでるのですが
「1」と「10」を指定すると「データがありません。」のメッセージがでます。
cStr(job)としてみたり Where句の順番を変えたりしましたがうまくいきません。

文字のタイプが違うのでしょうか?
すみませんが、よろしくお願いします。

質問の仕方が悪いと思いますがよろしくお願いします。

[ツリー表示へ]
タイトルRe: データが読めない
記事No10076
投稿日: 2010/04/26(Mon) 17:06
投稿者るしぇ
>しかし同じデータにもかかわらず数字によって読めない事象があり

>データは3行目のjobが 1、2、10 の3行のデータがあります。
の時点で矛盾。データが3行あるなら同じデータなどとは言えません。

実行している SQL には問題としている job 以外の条件が含まれて
いるので job が問題なのかどうかも分かりません。

また、データはどうやって作ったのでしょうか?
各フィールドのデータ型は?
文字列型のフィールドに手入力して作ったなら、全角半角だって
区別されるし、スペースが入っていても気づきません。
データの作成も SQL で行い、こちらで確認できるように公開して
ください。

[ツリー表示へ]
タイトルRe: データが読めない
記事No10077
投稿日: 2010/04/26(Mon) 17:53
投稿者YuO
> 4.                SQL = SQL + vbCrLf + "SELECT DKNO"
> 5.                SQL = SQL + vbCrLf + "FROM INPUTQUA"
> 6.                SQL = SQL + vbCrLf + "WHERE JOBCD='" + job + "'"
> 7.                SQL = SQL + vbCrLf + "AND DKNO=" + txtDkNO.Text
> 8.                SQL = SQL + vbCrLf + "AND TAN='" + txtTan.Text + "'"

このSQL文の意義はなんですか。
WHERE句のAND条件のひとつにDKNOがあるのに,そのDKNOを取得しようとしているようですが。

[ツリー表示へ]
タイトルRe^2: データが読めない
記事No10078
投稿日: 2010/04/26(Mon) 18:40
投稿者年配おじさん
るしぇ様 you様    
    
早々のご回答ありがとうございます。    
ご指摘の通り内容をただしく伝えていません。    
    
> の時点で矛盾。データが3行あるなら同じデータなどとは言えません。    
同じデータではないですね。    
正確には フィールドJOBCD の値が1、2、10 の3件あると表現すべきです。    
    
> 実行している SQL には問題としている job 以外の条件が含まれて    
> いるので job が問題なのかどうかも分かりません。    
    
JOBCD が変数 job と一致    
DKNO が画面のDkNOと一致    
TAN が画面のTanと一致    
の3件の条件が一致すれば「データがあります。」とメッセージが出るようにしたものです。    
                
> また、データはどうやって作ったのでしょうか?                
> 各フィールドのデータ型は?                
                
データは自社のシステムで入力してあるものを利用しています。                
                
各フィールドのデータ型は次の通りです(実際はもっとあるのですが選択条件をこの3件にしています)                
    DKNO    Decimal(6)        
    JOBCD    Decimal(2)        
    TAN    varchar(10)        
                
以上 自分のわかる範囲でかきました。                
足らないところがあれば指摘してください。                
すみませんが よろしくお願いします。                
                
                
you様                
                
 すみません。ただ自分の作ったものが読めるのを試したかっただけなのです。次に進めるのにはこれが必要かなと思ったことです。                
                
                
                
                
                年配おじさん

[ツリー表示へ]
タイトルRe^3: データが読めない
記事No10079
投稿日: 2010/04/26(Mon) 19:58
投稿者るしぇ
> > 実行している SQL には問題としている job 以外の条件が含まれて    
> > いるので job が問題なのかどうかも分かりません。    
>    
> JOBCD が変数 job と一致    
> DKNO が画面のDkNOと一致    
> TAN が画面のTanと一致    
> の3件の条件が一致すれば「データがあります。」とメッセージが出るようにしたものです。    
だから、そこ一つ取っても DkNO と Tan に原因がある可能性がゼロではないのでしょう?
なぜ原因を1つに特定しようとしないのですか?
また、特定しないのにどうして原因が job になったのですか?
一般常識で考えられる点を自分で調べようとしていますか?

>データは自社のシステムで入力してあるものを利用しています。
だから正しいと?貴方がその仕様を正確に理解していないと意図通りの
結果に結びつく可能性が限りなく低くなるというのに???

そもそも自社のシステム直接さわるのは大問題だと思いますが、
ローカルコピーして使ってますか?コピーしてるなら、自分で
テストデータを作成するのに問題は無いですよね?
公開して問題ないテストデータを作って、テストデータ作成に使用した
クエリを公開してください。

[ツリー表示へ]
タイトルRe^4: データが読めない
記事No10080
投稿日: 2010/04/27(Tue) 09:07
投稿者年配おじさん
るしぇ様

お世話になります。
るしぇ様のいわれるとおりです。
仕様書を探して同じテーブルを作ってみます。
そのうえでもう一度考えて見ます。
どうもお騒がせをいたしました。

また質問するかもしれませんがそのときはよろしくお願いします。
ありがとうございました

[ツリー表示へ]
タイトルRe^5: データが読めない
記事No10081
投稿日: 2010/04/27(Tue) 10:58
投稿者るしぇ
> 仕様書を探して同じテーブルを作ってみます。
データベースの種類によってやり方が色々あります。
テスト目的なら、Access にテーブルをインポートでローカルコピーを
使るくらいならすぐできると思います(Access の機能です)。
でもまぁ、そのあたりの情報が重要なのに、書込み内容にそういった
情報が出てきてないので、先は長そうですが。

テーブル作成は、仕様書も大事だけど、CREATE 文(いわゆる DDL)を
残しているはずです。(ツールで自動作成できる場合もあります)
また、自社のシステム(本番環境)にテーブルを勝手に作ってはいけません。
使用するテーブルスペースをはじめとするテーブル設計をされて、管理
されています。
どちらにしろ、必ずデータベース管理者に相談してください。

業務系のシステムなら、何かのミスで数千万円程度の損害が出ることは
珍しくないと思います。無許可で使用していて、損害を与えた場合、
その支払いが回ってきます。
これは常識です。

[ツリー表示へ]
タイトルRe^6: データが読めない
記事No10086
投稿日: 2010/04/28(Wed) 16:35
投稿者年配おじさん
> どちらにしろ、必ずデータベース管理者に相談してください。
>
> その支払いが回ってきます。
> これは常識です。

わかりました。
未熟者がさわってはいけないですね。
自宅に持ち帰って考えてみます。(visual basic 2005 Express)
いろいろと教えていただき、ありがとうございました。

[ツリー表示へ]