#vb.net #postgresql
#vb.net #postgresql
Вопрос:
Я новичок в vb.net , как мне выполнить запрос select в моих Windows forms с использованием сервера postgresql?
это мое соединение (на самом деле я не знаю, работает ли это, но я не получал никаких ошибок, и при нажатии кнопки i появляется окно сообщения)
вот код до сих пор
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim MyCon As New Odbc.OdbcConnection
MyCon.ConnectionString = "Driver={PostgreSQL ANSI};database=*****;server=localhost;port=5432;uid=postgres;sslmode=disable;readonly=0;protocol=7.4;User ID=******;password=*****;"
MyCon.Open()
If MyCon.State = ConnectionState.Open Then
MsgBox("Connected To PostGres", MsgBoxStyle.MsgBoxSetForeground)
End If
End Sub
Ответ №1:
В .Net у нас есть Using...End Using
блоки, которые закрывают и удаляют объекты, использующие неуправляемый код. Соединения попадают в этот тип объекта; любой класс объектов, у которого есть метод .Dispose .
Вы можете передать свою строку подключения непосредственно конструктору соединения.
У нас также есть Try...Catch...Finally....End Try
для обработки исключений.
Для проверки вашего соединения:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Using MyCon As New Odbc.OdbcConnection("Driver={PostgreSQL ANSI};database=*****;server=localhost;port=5432;uid=postgres;sslmode=disable;readonly=0;protocol=7.4;User ID=******;password=*****;")
MyCon.Open()
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Для получения справки о самой строке подключения проверьте https://www.connectionstrings.com/postgresql /
Существует несколько способов запроса к вашей базе данных в ADO.net . Изучите ADO.net . Ниже приведен один из способов.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dt As New DataTable
Try
Using MyCon As New Odbc.OdbcConnection("Driver={PostgreSQL ANSI};database=*****;server=localhost;port=5432;uid=postgres;sslmode=disable;readonly=0;protocol=7.4;User ID=******;password=*****;"),
cmd As New Odbc.OdbcCommand("Select * From SomeTable;", MyCon)
MyCon.Open()
dt.Load(cmd.ExecuteReader)
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
DataGridView1.DataSource = dt
End Sub