#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