Итак, у меня есть функция обмена мгновенными сообщениями, которые я использую с базой данных. Каждый раз, когда отправляется сообщение, он печатает то, что находится в столбце сообщений в базе данных, в текстовое поле в приложении vb.net.Обновление базы данных VB.NET
Моя проблема. Я должен нажать кнопку «отправить сообщение» дважды, чтобы получить функциональность для работы, так как в первый раз, когда я нажимаю на нее, ничего не происходит
Кто-нибудь знает, где я поступил неправильно? Очень признателен!
Try
'----------------Sends the message-------------------------------------
MysqlConn.Open() ' opening the connection to the DB
Dim query As String
query = "insert into dojodb.chats (Message) values ('" & txtMessage.Text & "')"
command = New MySqlCommand(query, MysqlConn)
reader = command.ExecuteReader 'executes the command and reads data from db
reader.Close()
'-------------------Retreives the message------------------------------------
Dim sqlStr As String = "SELECT * FROM chats"
Dim chatcommand As New MySqlCommand(sqlStr, MysqlConn)
Dim rdr As MySqlDataReader = chatcommand.ExecuteReader()
Dim tbl As New DataTable
tbl.Load(rdr)
'-------For every row, print the message, skip a line, and add 1 so it goes to next msg--------
For i As Integer = 0 To tbl.Rows.Count - 1
rowIndex = i
strOutPut &= CStr(tbl.Rows(rowIndex)("Message")) & vbNewLine
i = i + 1
Next
txtGroupChat.Text = strOutPut
strOutPut = "" 'clearing the string so that it does not print out duplicate info next time
'-------------------------End Retrieve-------------------------------------------
MysqlConn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message) 'printing the exact error to help future testing if needed
Finally
MysqlConn.Dispose()
End Try
End Sub
Не ответ на ваш вопрос, но в случае, если вы не знаете об этом, вы можете прочитать в [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) –
Кроме того, у меня есть поле под названием «pk», которое автоматически увеличивается каждый раз, когда сообщение сохраняется в базе данных. Это первичный ключ и используется для сортировки сообщений по самым старым-новейшим для печати в текстовое поле – foley
@JamesThorpe, моя база данных безопасна. Я не сообщил о какой-либо важной информации о подключении. – foley