2016-12-17 27 views
1

我想補充一個特定的用戶已經從一個MySQL數據庫表中所賺取的點如何通過visual basic執行SUM查詢?

我的代碼返回一個錯誤,語法不正確,我無法弄清楚如何使它工作>

這裏是我的代碼:

Imports MySql.Data.MySqlClient 
Public Class Leaderboard 
Dim MysqlConn As MySqlConnection 
Dim COMMAND As MySqlCommand 
Private Sub submitBtn_Click(sender As Object, e As EventArgs) Handles submitBtn.Click 
    MysqlConn = New MySqlConnection 
    MysqlConn.ConnectionString = 
    "server=localhost;userid=root;password=root99;database=database" 
    Dim READER As MySqlDataReader 
Try 
     MysqlConn.Open() 
     Dim Query As String 
     Query = "select SUM(Points) * from database.progress where candidate_number_fk = '" & textbox_can.Text & "'" 
     COMMAND = New MySqlCommand(Query, MysqlConn) 
     READER = Command.ExecuteReader 
     MessageBox.Show("You have successfully submitted your score") 
     MysqlConn.Close() 
    Catch ex As MySqlException 
     MessageBox.Show(ex.Message) 
    Finally 
     MysqlConn.Dispose() 
    End Try 
    My.Forms.Menu1.Show() 
    Me.Hide() 
End Sub 

End Class 

回答

0

這是不正確的SQL語法:

select SUM(Points) * 
from database.progress 
where . . . 

想必,你打算:

select SUM(Points) as sumpoints 
from database.progress 
where . . . 

然後,您可以從結果通過名稱設置爲上拉場。

注意:您的代碼可能存在其他問題。這隻能解決SQL查詢。

+0

我將它改爲:select SUM(Points)作爲來自database.progress的sumpoints,其中candidate_number_fk ='「&textbox_can.Text&」'「然後使用messagebox.show(sumpoints)返回值,這只是返回0應該返回10,我不知道什麼是錯的 – Niam

+0

@Niam ...當總和爲零時它將返回0,你需要檢查並仔細檢查'FROM'子句。 –