Страница: 1 |
Страница: 1 |
Вопрос: Ошибка SQL запроса
Добавлено: 18.06.07 01:19
Автор вопроса: Skywalker | Web-сайт:
Прям не знаю в чем дело.
Скачал Connector, подрубаюсь к БД, все норм. Далее
Command = New MySqlCommand()
Command.Connection = Connection
Dim s As String
Dim str() As String
Dim file As New IO.StreamReader("C:\ttttt\g\Объявления2.txt", False)
Dim i As Integer
For i = 0 To 1
s = file.ReadLine()
If (s.Substring(s.Length - 2, 2) = "р.") Then
s = s.Substring(1, s.Length - 2)
End If
str = s.Split("~")
Command.CommandText = "INSERT INTO `объявления` VALUES ('" & str(0) & "','" & str(1) & "','" & str(2) & "'," & "NOW(),'" & str(4) & "','" & str(5) & "','" & str(6) & "','" & str(7) & "','" & str(8) & "','" & str(9) & "','" & str(10) & "','" & str(11) & "','" & str(12) & "','" & str(13) & "','" & str(14) & "','" & str(15) & "','" & str(16) & "');"
Command.ExecuteNonQuery()
Next
И вот при выполнении строки Command.ExecuteNonQuery() вылазит ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ÿâëåíèÿ` VALUES ('1','1','4.2',NOW(),'','','Àëèñåâ Êàéðàò Ìóõàìåòæàíîâè÷','','óë' at line 1
Причем если сделать
Textbox1.Text = Command.CommandText
Скопировать этот текст и произвести вручную эскуэл запрос, то все норм. Подозреваю, что дело в кодировках чтоли. Т.е. он лупасит туда прям вот так вот Êàéðàò
Ìóõàìåòæàíîâè÷
Пробовал конвертить из кодировки юникод в утф8. Ошибка такая же, и кодировка в ошибке таже. Не знаю что делать.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 18.06.07 03:11
попробуй без ковычек, если пробелов конечно нигде нет, я думаю просто где-то что-то упустил, а когда постиш запрос ручками он сам дописывает какую-то ковычку итп.. вообщем если нет пробелов, зачем ковычки?
P.S. Коректность ввода данных при этом конечно нужно проверять самой прогой, а не БД, а то мало-ли кому чё вставить захочеться
Номер ответа: 2
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #2
Добавлено: 18.06.07 06:24
Параметризированные запросы юзай.
Номер ответа: 3
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #3
Добавлено: 18.06.07 10:26
2HACKER, без кавычек низя там пробелы есть, и он не дописывает какую нить кавычку сам, это уж точно.
Номер ответа: 4
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #4
Добавлено: 18.06.07 11:08
победил всего лишь указанием
Dim file As New IO.StreamReader("C:\ttttt\g\Объявления2.txt", System.Text.Encoding.GetEncoding(1251))
и переименованием руского названия базы в в английское