none
SQLのデータと入力されたデータの突合せがしたい RRS feed

  • 質問

  • お世話になっております。
    VS2008のVB環境でSaaS開発(社内環境用)をしています。
    しばらく触っていなかったのでほとんど忘れてしまいました。

    今回やりたいことは、SQLのデータベースに登録されているナンバー(数字)と、
    フォーム上で入力するナンバーの突合せをして、その番号があればエラーを吐くようにしたいのです。

    データベース上のデータをどうやって引っ張ってきて、どうやって突合せをするのかがもう全く分からなくなっております。
    非常に稚拙な内容かもしれませんがどうか御教唆ください。

    よろしくお願いします。

    2010年6月18日 8:03

回答

  • 突き合わせるだけであれば、いろいろな手法があります。

    マイクロソフト社のMSDNにもサンプル付きでいろいろのっているので、ご覧なってみてはいかがでしょうか。
    ADO.NET
    http://msdn.microsoft.com/ja-jp/library/e80y5yhx(VS.80).aspx

    例えばこんな感じで^^

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim nEpmployeeID As Integer = Me.TextBox1.Text
    
      Using objCon As New SqlClient.SqlConnection("Initial Catalog=Northwind;Data Source=Server1;User ID=User1;Password=User1Password")
       Using objCom As New SqlClient.SqlCommand("SELECT EmployeeID FROM Employees WHERE EmployeeID=@EmployeeID")
        objCom .CommandType = CommandType.Text
        objCom .Parameters.Add(New SqlClient.SqlParameter("EmployeeID", nEpmployeeID))
        objCom .Connection = objCon
        Try
         objCom .Connection.Open()
         Dim nRet As String = objCom .ExecuteScalar()
         If Not IsNothing(nRet) Then Throw (New Exception("EmployeeID:" & nEpmployeeID & " has already existed"))
        Catch ex As Exception
         MessageBox.Show(ex.Message)
        End Try
       End Using
      End Using
     End Sub
    2010年6月18日 9:17

すべての返信

  • 質問の範囲が広いので、まずは VB.NET の勉強からでしょうか。
    ↓は数年前のページですが非常にわかりやすいのでおススメです。

    改訂版 プロフェッショナルVB.NETプログラミング
    http://www.atmarkit.co.jp/fdotnet/vb6tonet2/index/index.html

    VB.NET があるていど理解できるようになったら
    SQLServer の勉強を少し。
    (SQL というのは SQLServer のことですよね?)

    それらが終わったら VB.NET と SQLServer の連携の勉強になります。
    2010年6月18日 8:27
  • 突き合わせるだけであれば、いろいろな手法があります。

    マイクロソフト社のMSDNにもサンプル付きでいろいろのっているので、ご覧なってみてはいかがでしょうか。
    ADO.NET
    http://msdn.microsoft.com/ja-jp/library/e80y5yhx(VS.80).aspx

    例えばこんな感じで^^

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim nEpmployeeID As Integer = Me.TextBox1.Text
    
      Using objCon As New SqlClient.SqlConnection("Initial Catalog=Northwind;Data Source=Server1;User ID=User1;Password=User1Password")
       Using objCom As New SqlClient.SqlCommand("SELECT EmployeeID FROM Employees WHERE EmployeeID=@EmployeeID")
        objCom .CommandType = CommandType.Text
        objCom .Parameters.Add(New SqlClient.SqlParameter("EmployeeID", nEpmployeeID))
        objCom .Connection = objCon
        Try
         objCom .Connection.Open()
         Dim nRet As String = objCom .ExecuteScalar()
         If Not IsNothing(nRet) Then Throw (New Exception("EmployeeID:" & nEpmployeeID & " has already existed"))
        Catch ex As Exception
         MessageBox.Show(ex.Message)
        End Try
       End Using
      End Using
     End Sub
    2010年6月18日 9:17
  • このソースでやってみようと思います。

    どうもありがとうございました。

     

    2010年6月19日 9:11
  • 1年以上触らないと忘れてしまうものですね。

    もう一度勉強します。

    ありがとうございました。

    2010年6月19日 9:12