Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将查询的总和转移到标签_Mysql_Vb.net - Fatal编程技术网

Mysql 将查询的总和转移到标签

Mysql 将查询的总和转移到标签,mysql,vb.net,Mysql,Vb.net,查询在mysql命令行上运行,但如何将总和放入标签 Dim SDA作为新的MySqlDataAdapter 将bSource设置为新BindingSource Dim dbDataSet作为新数据表 尝试 MysqlConn.Open() 将查询设置为字符串 Query=“从ordered='”和totalcase.Text&“中选择sum(要交付的案例数量)。” COMMAND=newmysqlcommand(查询,MysqlConn) SDA.SelectCommand=命令 SDA.Fi

查询在mysql命令行上运行,但如何将总和放入标签

Dim SDA作为新的MySqlDataAdapter
将bSource设置为新BindingSource
Dim dbDataSet作为新数据表
尝试
MysqlConn.Open()
将查询设置为字符串
Query=“从ordered='”和totalcase.Text&“中选择sum(要交付的案例数量)。”
COMMAND=newmysqlcommand(查询,MysqlConn)
SDA.SelectCommand=命令
SDA.Fill(数据库数据集)
bSource.DataSource=dbDataSet
MysqlConn.Close()
特例
MessageBox.Show(例如Message)
最后
MysqlConn.Dispose()
结束尝试

永远不要连接字符串以生成Sql语句。使用参数。您有损坏数据库的风险

DataAdapter将作为
.Fill
方法的一部分为您打开和关闭连接。但是,如果发现连接打开,它将保持打开状态

很高兴看到您在连接上调用了
.Dispose
,但您可以使用“使用…结束使用块”来避免麻烦。这将确保即使出现错误,也会关闭和释放数据库对象

现在是代码。您没有填写或更新任何内容,因此此查询不需要
DataAdapter
。您没有绑定任何内容,因此没有
BindingSource
DataTable
(dbDataSet)的名称不正确,因为
DataSet
是不同类型的对象。任何试图维护您的代码的人都很容易混淆

通过使用参数,不仅可以避免SQL注入,还可以大大简化SQL语句。不用担心双引号、单引号等

由于您只检索一条数据,因此可以使用
.ExecuteScalar
返回结果集第一行的第一列

我将代码分为数据访问函数和用户界面部分。通过这种方式,您可以将应用程序迁移到不同的平台,例如web应用程序,只需将功能作为一个整体来使用

Private子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
lblTotalCases.Text=DirectCast(GetTotalCases(CInt(totalcase.Text)),字符串)
端接头
私有函数GetTotalCases(OrderID为整数)为整数
将所有案例设置为整数
“我提出了一个问题,因为你的问题毫无意义。
Dim Query=“从OrderDetails中选择sum(没有要交付的案例),其中OrderID=@ID;”
将MysqlConn用作新的MySqlConnection(“您的连接字符串”)
将命令用作新的MySqlCommand(查询,MysqlConn)
Command.Parameters.Add(“@ID”,MySqlDbType.Int32).Value=OrderID
MysqlConn.Open()
TotalCases=CInt(Command.ExecuteScalar)
终端使用
终端使用
返回总数案例
端函数

您的查询无效。您在表中缺少一个
,在
有序的前面缺少一个
位置
。如果表名为
ordered
,则缺少一个
WHERE something='…'
。还可以尝试使用参数而不是文本框文本,以避免可能的sql注入。我尝试从表和何处放入。没有错误信息,但是总数没有显示在标签上。您可以发布您的实际代码吗?你的代码不会自己编译,所以很难知道问题是否是因为我们看不到的东西。很抱歉命名,我刚刚看了yt的一个教程并按照他的说明操作,你的解释对我帮助很大,因为我还在练习。