VB.Net подключение

#sql-server #vb.net #database-connection

#sql-сервер #vb.net #база данных-подключение

Вопрос:

Я медленно перехожу на VB.Net и кажется, что самые простые вещи совершенно разные. Я пытаюсь установить соединение с SQL Server и просто получить некоторые данные. Я протестировал соединение, и все в порядке. Теперь я пытаюсь просто выбрать некоторые данные с сервера и отобразить первое имя в Msgbox (или что-нибудь в этом роде). Вот код, который я получил до сих пор….

 Imports System.Data
Imports System.Data.SqlClient

Public Class Form1
    Public conn As New SqlConnection("data source=Tuys1;initial catalog=DDDBuyer; user ID=userID; password=password")
    Private dA As New SqlDataAdapter("Select FirstName, LastName from tblBuyers where Buyerid=1473", conn)
    Private dS As New DataSet
End Class
  

Я не совсем уверен, как действовать дальше… Я понимаю, что есть что-то вроде

 .hasRows

if ds.hasrows then
   msgbox = "HELLO"
End if
  

или что-то вроде отображения FirstName в txtFirstName

Я пытаюсь получить представление о том, как это работает, и после некоторых исследований трудно найти конкретный пример, который помог бы мне сделать то, что я пытаюсь выполнить.

Комментарии:

1. Вероятно, вам нужно прочитать какой-нибудь базовый учебник по ADO.NET (доменное имя MSDN содержит множество примеров, просто выполните поиск) Однако после создания адаптера вам необходимо заполнить набор данных , а затем прочитать содержимое первого DataTable DataRow с помощью DataRow. msdn.microsoft.com/en-us/library /…

2. msdn.microsoft.com/en-us/library/… Вам нужно использовать метод заполнения

3. @steve но мне это не нужно, чтобы что-то заполнять. Я хочу просто отобразить первое имя в txtFirstName. Заполнение для таблицы? о том, что я выясняю

4. Тогда используйте не DataAdapter, а SqlDataReader. Снова начните с основ, читая руководство, иначе вы только вызовете путаницу.

Ответ №1:

 Dim custAdapter As SqlDataAdapter = New SqlDataAdapter( _
  "SELECT * FROM dbo.Customers", customerConnection)

Dim ordAdapter As OleDbDataAdapter = New OleDbDataAdapter( _
  "SELECT * FROM Orders", orderConnection)

Dim customerOrders As DataSet = New DataSet()
custAdapter.Fill(customerOrders, "Customers")
ordAdapter.Fill(customerOrders, "Orders")

Dim relation As DataRelation = _
  customerOrders.Relations.Add("CustOrders", _
  customerOrders.Tables("Customers").Columns("CustomerID"), _ 
  customerOrders.Tables("Orders").Columns("CustomerID"))

Dim pRow, cRow As DataRow
For Each pRow In customerOrders.Tables("Customers").Rows
  Console.WriteLine(pRow("CustomerID").ToString())

  For Each cRow In pRow.GetChildRows(relation)
    Console.WriteLine(vbTab amp; cRow("OrderID").ToString())
  Next
Next 
  

Как объяснено здесь