gpt4 book ai didi

mysql - 将mysql查询结果保存到VB net中的变量

转载 作者:行者123 更新时间:2023-11-29 20:15:54 25 4
gpt4 key购买 nike

我有像这样的VB:

Sub inputdata()
Try
koneksi.Open()
***sql2 = "SELECT code_cust from customer where ('nama_cust= " & Me.cbcust.Text & "')"
cmd = New MySqlCommand(sql2, koneksi)
sql3.text=cmd.ExecuteNonQuery()***

sql = "insert into hsmaster(nohs,detailhs,beamasuk,satuanhs,idcust,asal) values ('" & Me.txtnohs.Text & "',"
sql += "'" & Me.rtdetail.Text & " ',"
sql += "'" & Me.txtbm.Text & " ',"
sql += "'" & Me.txtsatuan.Text & " ',"
sql += "'" & sql3 & " ',"
sql += "'" & Me.Cbcountry.Text & " ')"
cmd = New MySqlCommand(sql, koneksi)
cmd.ExecuteNonQuery()
MessageBox.Show("Insert data berhasil dilakukan")
Catch ex As Exception
MessageBox.Show("Insert data Gagal dilakukan")

Finally
koneksi.Close()
End Try

所以我想将 quert sql3 的结果保存到 slq3 ,但结果是 -1请多多指教...

sql2 正在查询客户表,其中客户的子句名称是从组合框客户加载的。cbcust.text 来自组合框,从表 customer 加载数据。

感谢您的帮助和建议。

最佳答案

ExecuteNonQuery 仅适用于插入/更新/删除以及您不希望从中检索数据的查询。您看到的 -1 是执行非查询时数据库返回的内容,以指示命令是否成功。您在第二次插入时使用 ExecuteNonQuery 是正确的,但对于第一个选择查询,如果您想要返回值,则必须使用

sql3.text = cmd.ExecuteScalar

或使用数据读取器

Dim dr As MySqlDataReader
dr = cmd.ExecuteReader
'check to make sure dr isnot nothing and read it, then
Dim returnValue as string = dr(code_cust)

ExecuteScalar 用于返回单个值,并且可能最适合您的情况,当需要多个列和/或行时使用 datareader

<小时/>

您也应该在查询中使用参数,但如果像您这样使用引号:

***sql2 = "SELECT code_cust from customer where ('nama_cust= " & Me.cbcust.Text & "')"

需要像这样移动单引号:

***sql2 = "SELECT code_cust from customer where (nama_cust= '" & Me.cbcust.Text & "')"

因为现在这是一个语法错误

关于mysql - 将mysql查询结果保存到VB net中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39783404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com