Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Ошибка SQL запроса Добавлено: 18.06.07 01:19  

Автор вопроса:  Skywalker | Web-сайт: iSkywalker.ru | ICQ: 300-70-6пятьЪ 
Прям не знаю в чем дело.
Скачал 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-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 18.06.07 06:24
Параметризированные запросы юзай.

Ответить

Номер ответа: 3
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #3
Добавлено: 18.06.07 10:26
2HACKER, без кавычек низя там пробелы есть, и он не дописывает какую нить кавычку сам, это уж точно.

Ответить

Номер ответа: 4
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #4
Добавлено: 18.06.07 11:08
победил всего лишь указанием

        Dim file As New IO.StreamReader("C:\ttttt\g\Объявления2.txt", System.Text.Encoding.GetEncoding(1251))


и переименованием руского названия базы в в английское

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам