vb.net - 如何使用 PostgreSQL 作为数据库和 vb.net windows 窗体在 DataGridView1 中发布数据
问题描述
我是 vb.net 的新手,我希望你们能帮我解决这个问题,我遇到了这个错误“发生错误:42601:在“LIKE”处或附近出现语法错误。我的代码中是否遗漏了什么?为什么我会得到这个错误?我只想在我的 DataGridView1 中显示我的记录数据
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LoadData()
End Sub
Private Sub LoadData(Optional keyword As String = "")
SQL = "SELECT id, dateSubmitted, lastname, firstname, middleInitial, bodyTemperature, employee_number, address, email, inputdate, inputBy, modifyDate, modifyBy, status, fmCustomerID_id, fmCustomerLocationID_id, fmCustomerSectionID_id, contact_number
FROM TracingApp_fmcustomeremployeesupplier" & "WHERE CONCAT(lastname, firstname) LIKE @keyword::varchar OR TRIM (middleInitial) LIKE @keyword::varchar ORDER BY id ASC"
Dim strKeyword As String = String.Format("%(0)%", keyword)
Cmd = New NpgsqlCommand(SQL, Con)
Cmd.Parameters.Clear()
Cmd.Parameters.AddWithValue("keyword", strKeyword)
Dim dt As DataTable = PerformCRUD(Cmd)
If dt.Rows.Count > 0 Then
intRow = Convert.ToInt32(dt.Rows.Count.ToString())
Else
intRow = 0
End If
StatusStrip1.Text = "Number of Entry(s): " & intRow.ToString()
With DataGridView1
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.AutoGenerateColumns = True
.DataSource = dt
.Columns(0).HeaderText = "ID"
.Columns(1).HeaderText = "dateSubmitted"
.Columns(2).HeaderText = "lastname"
.Columns(3).HeaderText = "firstname"
.Columns(4).HeaderText = "middleInitial"
.Columns(5).HeaderText = "bodyTemperature"
.Columns(6).HeaderText = "employee_number"
.Columns(7).HeaderText = "address"
.Columns(8).HeaderText = "email"
.Columns(9).HeaderText = "inputdate"
.Columns(10).HeaderText = "inputBy"
.Columns(11).HeaderText = "modifyDate"
.Columns(12).HeaderText = "modifyBy"
.Columns(13).HeaderText = "status"
.Columns(14).HeaderText = "fmCustomerID_id"
.Columns(15).HeaderText = "fmCustomerLocationID_id"
.Columns(16).HeaderText = "fmCustomerSectionID_id"
.Columns(17).HeaderText = "contact_number"
.Columns(0).Width = 20
.Columns(1).Width = 150
.Columns(2).Width = 150
.Columns(3).Width = 150
.Columns(4).Width = 150
.Columns(5).Width = 50
.Columns(6).Width = 150
.Columns(7).Width = 150
.Columns(8).Width = 150
.Columns(9).Width = 100
.Columns(10).Width = 100
.Columns(11).Width = 100
.Columns(12).Width = 100
.Columns(13).Width = 100
.Columns(14).Width = 100
.Columns(15).Width = 100
.Columns(16).Width = 100
.Columns(17).Width = 100
End With
End Sub
PostgreSQL.vb(模块)
Option Explicit On
Option Strict On
Imports Npgsql
Module PostgreSQL
Public Function GetConnectionString() As String
Dim host As String = "Host=localhost;"
Dim port As String = "Port=5432;"
Dim db As String = "Database=tracer;"
Dim user As String = "Username=****;"
Dim pass As String = "Password=****;"
Dim conString As String = String.Format("{0}{1}{2}{3}{4}", host, port, db, user, pass)
Return conString
End Function
Public Con As New NpgsqlConnection(GetConnectionString())
Public Cmd As NpgsqlCommand
Public SQL As String = ""
Public Function PerformCRUD(Com As NpgsqlCommand) As DataTable
Dim da As NpgsqlDataAdapter
Dim dt As New DataTable()
Try
da = New NpgsqlDataAdapter
da.SelectCommand = Com
da.Fill(dt)
Return dt
Catch ex As Exception
MessageBox.Show("An error occured: " & ex.Message, "Database",
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Return dt
End Function
End Module
这是我的数据库
解决方案
推荐阅读
- image - SwiftUI - 按下按钮时移动和旋转图像
- javascript - 尝试从 aws lambda 运行 javascript 代码以列出或终止 ecs 任务
- node.js - 允许带有 npm 头盔的 S3 图像
- javascript - 无法删除 react-data-table-component 中的白色标题
- javascript - 如何从 JSON url 呈现列表?- ReactJS 钩子
- sql - MS Access 查询 SQL 联合选择返回 -1
- c# - 如何在 Unity 上播放死亡动画?
- html - 使用漂亮的汤从网站上获取所有 mp3 文件——递归
- arrays - 将整数集扫描到二维数组中
- python - 类型错误:bott() 接受 1 个位置参数,但即使使用 self 也给出了 2 个