- 締切済み
データベースのレコードをform1で選択し、form2にも関連させたい。
visual basic 2005 データベースはSQL server で初めてプログラムを開発しています。 form1で、データベースのレコードを選択し、form2に遷移してもそのデータベースのレコードを維持する方法はないでしょうか? 1 りんご あかい 2 みかん おれんじ 3 びわ きいろ とデータベースがあり、form1には 2 みかん と選択表示させる。bottonを押すとform2に遷移し、おれんじ と表示させたい。でも あかい と表示される。 どんな方法があるのでしょうか?すいませんが初心者でも分かるやり方があれば教えて下さい。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 > Data Source=サーバー名;Initial Catalog=データベース名 のサーバ名??とデータベース名??がわかりません。 サーバー名とは、 自分のパソコンに SQL Server が入っているのであれば、 [スタート]→[マイ コンピュータ]を右クリック プロパティを選択して、 [コンピュータ名]タブを選択すると 表示される、フルコンピュータ名を指定して下さい。 違うぱそこんに SQL server が入っているのなら、 ネットワークの構成にもよりますが、 そのコンピュータの名前か、IP アドレスを指定します。 > データベース名って、テーブル名ではないのですよねぇ?何を指すものなのでしょうか。 ご自身が作成されたテーブルが格納されている場所がありますよね? SQL Server の EnterPrise Manager か、2005 なら、Management Studio を 起動してみると、データベースが何か、 視覚的にお解かりになると思います。 こんな関係のはずです。 サーバー |_ | データベース 1 | |_テーブル 1 | |_テーブル 2 | |_テーブル 3 | |_テーブル 4 |_ | データベース 2 | |_テーブル 5 | |_テーブル 6 |_ | データベース 3 | |_テーブル 7 | |_テーブル 8 | |_テーブル 9 | |_テーブル 10 …
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 SQL Server の T_FRUIT というテーブルに以下のような項目があったとすると ID(int) 1 とか 2 とか F_NAME(nvarchar(50)) りんご とか みかん とか F_COLOR(nvarchar(50)) あかい とか おれんじ とか こんな感じでしょうか。 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Using sqlConn As SqlClient.SqlConnection = _ New SqlClient.SqlConnection("Data Source=サーバー名;Initial Catalog=データベース名;Integrated Security=SSPI;") sqlConn.Open() Try Dim sqlDa As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter sqlDa.SelectCommand = New SqlClient.SqlCommand sqlDa.SelectCommand.CommandText = "SELECT ID, F_NAME, F_COLOR FROM T_FRUIT" sqlDa.SelectCommand.Connection = sqlConn Dim fruitDt As DataTable fruitDt = New DataTable sqlDa.Fill(fruitDt) Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList Me.ComboBox1.DataSource = fruitDt Me.ComboBox1.DisplayMember = "F_NAME" Me.ComboBox1.ValueMember = "ID" Finally If Not sqlConn Is Nothing Then sqlConn.Close() End If End Try End Using End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim id As Integer = CInt(Me.ComboBox1.SelectedValue) Dim fruitDt As DataTable = DirectCast(Me.ComboBox1.DataSource, DataTable) Dim selectedRows As DataRow() = fruitDt.Select("ID =" & id.ToString()) If selectedRows.Length = 1 Then Dim fruitColor As String = CStr(selectedRows(0)("F_COLOR")) Dim f2 As Form2 = New Form2(fruitColor) f2.ShowDialog() End If End Sub End Class Public Class Form2 Public Sub New(ByVal fruitColor As String) Me.InitializeComponent() Me.Label1.Text = fruitColor End Sub End Class
お礼
さっそく答えてくださり、ありがとうございます。 私は初心者なもので、明日一日をかけてソースを解析し、実行しようと思います。 結果はまた連絡致します。 ありがとうございました
補足
すいません。ちょっとわからない所がありまして、 5行目の Data Source=サーバー名;Initial Catalog=データベース名 のサーバ名??とデータベース名??がわかりません。データベース名って、テーブル名ではないのですよねぇ?何を指すものなのでしょうか。 宜しくお願い致します。