Я новичок в программировании на VB и столкнулся с проблемой :( после нескольких дней, пытаясь решить эту проблему, нужна помощь!
Я пытаюсь передать некоторую информацию из формы VB в мой MySQLбазы данных. Я назвал все текстовые поля такими же, как поля в базе данных, и проверил все поля моей базы данных и имена текстовых полей, которые все верны.
Когда я пытаюсь ввести информацию в форму, я иногда получаю ошибкув разделе кода .executeNonQuery.
Чтобы проверить, я вывел строку SQLStatement в текстовое поле (которое правильно перетянуло все поля из текстовых полей), а затем вручную ввел завершенный запрос SQL в базу данных, и онсработало. Но когда я пытаюсь сделать это за один раз, кажется, что это не сработает, если слишком много текста (если я введу «а» в каждом поле, это работает). Являются ли они ограничения на размер запроса SQL, который может быть переданиз VB ?? все поля базы данных MySql установлены в текст без ограничений по размеру.
Заранее спасибо !!!
Public Sub SaveQuote(ByRef SQLStatement As String)
Dim cmd As MySqlCommand = New MySqlCommand
With cmd
.CommandText = SQLStatement
.CommandType = CommandType.Text
.Connection = SQLConnection
.ExecuteNonQuery()
End With
SQLConnection.Close()
MsgBox("successfully Added!")
SQLConnection.Dispose()
End Sub
Private Sub CmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSave.Click
Dim SQLstatement As String = "INSERT INTO laptopstock(forename,surname,emailaddress,contactnumber,quotedate,manufacturer,model,os,battery,drive,defects) VALUES('" & forename.Text & "','" & surname.Text & "','" & emailaddress.Text & "','" & contactnumber.Text & "', CURDATE(),'" & manufacturer.Text & "','" & modelnumber.Text & "','" & os.Text & "','" & batterycondition.Text & "','" & drivetype.Text & "','" & defects.Text & "')"
SaveQuote(SQLstatement)
End Sub
'Тестовый SQL-запрос
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim testSQLstatement As String = "INSERT INTO laptopstock(forename,surname,emailaddress,contactnumber,quotedate,manufacturer,model,os,battery,drive,defects) VALUES('" & forename.Text & "','" & surname.Text & "','" & emailaddress.Text & "','" & contactnumber.Text & "', CURDATE(),'" & manufacturer.Text & "','" & modelnumber.Text & "','" & os.Text & "','" & batterycondition.Text & "','" & drivetype.Text & "','" & defects.Text & "')"
testbox.Text = testSQLstatement
End Sub
Вот вывод из testSQLstatement = testbox.text
INSERT INTO laptopstock(forename,surname,emailaddress,contactnumber,quotedate,manufacturer,model,os,battery,drive,defects) VALUES('Joe','Bloggs','J.bloggs@jbloggs.com','07777777777', CURDATE(),'Sony','Vaio','Windows 7 Pro','Poor','DVD-Rom','Faulty Screen')
из того, что я вижу, это правильноотформатирован и когда я ввожу это непосредственно в запрос на сервере MySql, создается запись