首页 文章

如何更改phpmyadmin SQL / SQL服务器的语法SQL访问权限

提问于
浏览
1

信息错误:

您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以便在')-Tanggalpjm附近使用正确的语法.1作为Lmpinjam,IFF(LMPINJAM> 5,(LMPINJAM-5)* 500,0)AS DENDA来自第1行的t'

这是我的数据库:

该语法的工作原理如下:1 . 在组合框中选择成员编号或在Combobox中键入成员编号(将出现在第二个网格上借阅的图书2.输入图书的代码(例如B001,B002,B003等) . )在第一列的第一个网格上,如果文件从未被借用过,则会显示一条消息,表明书籍从未被借用过.3 . 按相关书籍中的ESC可以取消某些书籍代码的退货行“4.保存之前,先填写”付款金额“

denda =付款

它在DataGridView1上的错误因为这个脚本使用SQL访问而我的vb使用phpmyadmin作为数据库所以如何将这种语法更改为phpmyadmin SQL?

("Select distinct tbBuku.NomorBK,tbdetailpjm.Nomorpjm,Judul,JumlahBK,tanggalpjm, (Date()-Tanggalpjm)+1 As Lmpinjam, IFF (LMPINJAM>5,(LMPINJAM-5)*500,0) AS DENDA From tbAnggota,tbPinjam,tbBuku,tbDetailpjm Where tbBuku.NomorBK=tbDetailpjm.NomorBK And tbPinjam.Nomorpjm=tbDetailpjm.Nomorpjm And tbAnggota.Nomoragt=Pinjam.Nomoragt And tbAnggota.Nomoragt='" & CmbNomoragt.Text & "' AND tbDETAILPJM.NomorBK='" & DgLaporan.Rows(e.RowIndex).Cells(0).Value & "' AND DETAILPJM.JUMLAHBK>0", conn)

完整脚本:

Imports MySql.Data.MySqlClient
Imports System.Math


Private Sub DgLaporan_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgLaporan.CellEndEdit
    If e.ColumnIndex = 0 Then
        CMD = New MySqlCommand("select NomorBK from tbanggota,tbpinjam,tbdetailpjm where NomorBK ='" & DgLaporan.Rows(e.RowIndex).Cells(0).Value & "' and tbpinjam.nomorpjm=tbdetailpjm.nomorpjm and tbanggota.nomoragt=tbpinjam.nomoragt and tbanggota.nomoragt='" & CmbNomoragt.Text & "' AND tbdetailpjm.JUMLAHBK>0", conn)
        RD = CMD.ExecuteReader
        RD.Read()
        If Not RD.HasRows Then
            MsgBox(" " & LblNamaAgt.Text & " tidak meminjam kode Buku " & DgLaporan.Rows(e.RowIndex).Cells(0).Value & "")
            Call HapusBaris()
            Exit Sub
            RD.Close()
        End If
        RD.Close()
        CMD = New MySqlCommand("Select distinct tbBuku.NomorBK,tbdetailpjm.Nomorpjm,Judul,JumlahBK,tanggalpjm, (Date()-Tanggalpjm)+1 As Lmpinjam, IFF (LMPINJAM>5,(LMPINJAM-5)*500,0) AS DENDA From tbAnggota,tbPinjam,tbBuku,tbDetailpjm Where tbBuku.NomorBK=tbDetailpjm.NomorBK And tbPinjam.Nomorpjm=tbDetailpjm.Nomorpjm And tbAnggota.Nomoragt=Pinjam.Nomoragt And tbAnggota.Nomoragt='" & CmbNomoragt.Text & "' AND tbDETAILPJM.NomorBK='" & DgLaporan.Rows(e.RowIndex).Cells(0).Value & "' AND DETAILPJM.JUMLAHBK>0", conn)
        RD = CMD.ExecuteReader
        RD.Read()
        If RD.HasRows Then
            DgLaporan.Rows(e.RowIndex).Cells(1).Value = RD.Item(1)
            DgLaporan.Rows(e.RowIndex).Cells(2).Value = RD.Item(2)
            DgLaporan.Rows(e.RowIndex).Cells(3).Value = RD.Item(3)
            DgLaporan.Rows(e.RowIndex).Cells(4).Value = RD.Item(4)
            DgLaporan.Rows(e.RowIndex).Cells(5).Value = RD.Item(5)
            DgLaporan.Rows(e.RowIndex).Cells(6).Value = RD.Item(6)
            DgLaporan.CurrentCell = DgLaporan.Rows(e.RowIndex).Cells(0)
            Call TotalKEMBALI()
            Call TotalDENDA()
            Call pembayaran()
        Else
            MsgBox(" " & LblNamaAgt.Text & "  tidak meminjam kode Buku " & DgLaporan.Rows(e.RowIndex).Cells(0).Value & "")
        End If
    End If
    RD.Close()
End Sub

1 回答

  • 0

    DATE 函数用于从字符串中提取日期,因此它希望您将参数传递给它 .

    如果你想获得今天的日期,请改用 CURRENT_DATE 函数:

    (CURRENT_DATE()-Tanggalpjm)+1
    

    此外,您的代码易受SQL注入攻击 . 多年来一直不鼓励使用常规字符串连接来构建查询 . 看看如何使用SQL Parameters .

相关问题