|
Есть ли надежда на ответ ... Не записываются данные в таблицу | ☑ | ||
---|---|---|---|---|
0
Coldboy
19.10.12
✎
17:10
|
Через Соединение = Новый COMОбъект("ADODB.Connection");
пытаюсь записать в таблицу БД, такую вещь СтрокаЗАпроса = " Insert Into `VOD_PURCHASE` (TRANSACTION_ID,AMOUNT,MOMENT,ACCOUNT_NUMBER,CONTENT_NAME,CONTENT_ID) VALUES("+СтрокаТЗ.OperationID+","+Число(СтрокаТЗ.Sum)+","+Формат(СтрокаТЗ.moment,"ДФ=yyyy-MM-dd-ЧЧ-мм-сс")+","+Строка(СтрокаТЗ.externalAccountID)+","+Строка(СтрокаТЗ.contenName)+","+Число(СтрокаТЗ.ContentID)+")"; Почему то начинай с Строка(СтрокаТЗ.contenName) - там идут данные с пробелом типа название "Такое название", он ругается и выдает такую ошибку Ошибка выполнения запроса к БД: {Форма.Форма.Форма(134)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [MySQL][ODBC 5.1 Driver][mysqld-5.1.61-0ubuntu0.10.10.1]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 'мобильник,5 555)' at line 1!!! |
|||
1
Fragster
гуру
19.10.12
✎
17:10
|
Сообщить(СтрокаЗАпроса)
|
|||
2
Fragster
гуру
19.10.12
✎
17:11
|
я таки думаю, что сейчас будет вопрос, что за пробелы в числах, и почему они не удаляются через СтрЗаменить(1000, " ", "");
|
|||
3
ДенисЧ
19.10.12
✎
17:11
|
СтрокаЗАпроса = " Insert Into `VOD_PURCHASE` (TRANSACTION_ID,AMOUNT,MOMENT,ACCOUNT_NUMBER,CONTENT_NAME,CONTENT_ID) VALUES("+СтрокаТЗ.OperationID+","+Число(СтрокаТЗ.Sum)+","+Формат(СтрокаТЗ.moment,"ДФ=yyyy-MM-dd-ЧЧ-мм-сс")+","+Строка(СтрокаТЗ.externalAccountID)+",'"+Строка(СтрокаТЗ.contenName)+"',"+Число(СтрокаТЗ.ContentID)+")";
|
|||
4
GLazNik
19.10.12
✎
17:12
|
(0) это... а зачем вот это: "+Число(СтрокаТЗ.Sum)+"
|
|||
5
Fragster
гуру
19.10.12
✎
17:12
|
автор! юзай СериализаторXDTO.XMLСтрока(1000)!
|
|||
6
1Страх
19.10.12
✎
17:12
|
(2) +1000
не надо там в числа ничего преобразовывать ибо бесполезно, все равно строка лучше тогда параметры юзать |
|||
7
runoff_runoff
19.10.12
✎
17:12
|
отловите текст конечного запроса в отладчике и выложите тут..
|
|||
8
Coldboy
19.10.12
✎
17:13
|
Вот смотрите Insert Into `VOD_PURCHASE` (TRANSACTION_ID,AMOUNT,MOMENT,ACCOUNT_NUMBER,CONTENT_NAME,CONTENT_ID) VALUES(968,5,2012-10-19-12-02-54,123123,Чертов мобильник,5 555)
ругается на последние 2, думаю из за записи, и пробела в 5 555, как это исправить? |
|||
9
Coldboy
19.10.12
✎
17:13
|
если последнее Int(11)
|
|||
10
Fragster
гуру
19.10.12
✎
17:13
|
(8)->(5)
|
|||
11
drcrasher
19.10.12
✎
17:14
|
(0) а строки в кавычки кто заворачивать будет?
|
|||
12
ДенисЧ
19.10.12
✎
17:14
|
(8) формат и кавычки тебе помогут.
|
|||
13
drcrasher
19.10.12
✎
17:14
|
(8) строки в кавычки, число - через формат
|
|||
14
Coldboy
19.10.12
✎
17:15
|
Как если он в параметре че прям так и дселать
МояСтрока = "'"+МояСтрока+"'"; (10) примерно можно? |
|||
15
runoff_runoff
19.10.12
✎
17:15
|
(9) да.. вам ответили.. строки заключить в одиночные кавычки..
|
|||
16
Fragster
гуру
19.10.12
✎
17:15
|
СериализаторXDTO.XMLСтрока(СтрокаТЗ.ContentID)
|
|||
17
Coldboy
19.10.12
✎
17:19
|
(15) с кавычками не прокатило.
|
|||
18
Coldboy
19.10.12
✎
17:22
|
(16) СериализаторXDTO.XMLСтрока(СтрокаТЗ.contenName) к названию тоже не прокатило как быть?
|
|||
19
Fragster
гуру
19.10.12
✎
17:23
|
(18) строки - в кавычки
|
|||
20
Coldboy
19.10.12
✎
17:24
|
я писал МояСтрока = "'"+МояСтрока+"'"; нифига. думаю дело в другом в числе 9 555 с ним как быть?
|
|||
21
Coldboy
19.10.12
✎
17:24
|
СериализаторXDTO.XMLСтрока(СтрокаТЗ.ContentID) - это поле вообще Int(11) должно быть
|
|||
22
Fragster
гуру
19.10.12
✎
17:24
|
(20) в числе -> (5)
|
|||
23
Fragster
гуру
19.10.12
✎
17:25
|
СериализаторXDTO.XMLСтрока(9555)
|
|||
24
1Страх
19.10.12
✎
17:25
|
параметры юзай!
|
|||
25
Fragster
гуру
19.10.12
✎
17:27
|
(24) сегодня пятница
|
|||
26
1Страх
19.10.12
✎
17:28
|
(25) блин, так быстро?
|
|||
27
Coldboy
19.10.12
✎
17:30
|
Так вроде бы все, тока дату, с ней надо кое что уладить, Формат(СтрокаТЗ.moment,"ДФ='yyyy-MM-dd ЧЧ:мм:сс'")
не пихается ... было Формат(СтрокаТЗ.moment,"ДФ='yyyy-MM-dd-ЧЧ-мм-сс'") тоже не залезло .. нету че нить типа преобразовать в timestamp |
|||
28
Лефмихалыч
19.10.12
✎
17:30
|
Формат(%ВсеЧисловыеЗначения%, "ЧГ=0")
|
|||
29
Лефмихалыч
19.10.12
✎
17:30
|
ругается на неразрывный пробел в "5 555"
|
|||
30
Fragster
гуру
19.10.12
✎
17:31
|
кстати, XMLСтрока(число) в 3 раза быстрее Формат(Число,"ЧГ="), который в 3 раза быстрее сериализатора XDTO. а я типа шутил так...
|
|||
31
SleepWalker
19.10.12
✎
17:31
|
(20) Формат(Число,"ЧГ = 0")
|
|||
32
Coldboy
19.10.12
✎
17:31
|
(29) уже понял. Fragster описывал это выше.
|
|||
33
Coldboy
19.10.12
✎
17:32
|
как с датой быть ребят?
|
|||
34
Coldboy
19.10.12
✎
17:32
|
еще бы время не потерять там ...
|
|||
35
Fragster
гуру
19.10.12
✎
17:33
|
yyyyMMddЧЧммсс
|
|||
36
SleepWalker
19.10.12
✎
17:35
|
(35) +1
|
|||
37
Coldboy
19.10.12
✎
17:37
|
че то не хочет он дату через формат(Дата,yyyyMMddЧЧммсс);
|
|||
38
Fragster
гуру
19.10.12
✎
17:37
|
а XMLСтрока на дату не канает, кстати?
|
|||
39
Coldboy
19.10.12
✎
17:38
|
ООО да все ок СтрокаЗАпроса = " Insert Into `VOD_PURCHASE` (TRANSACTION_ID,AMOUNT,MOMENT,ACCOUNT_NUMBER,CONTENT_NAME,CONTENT_ID) VALUES("+XMLСтрока(СтрокаТЗ.OperationID)+","+XMLСтрока(СтрокаТЗ.Sum)+","+Формат(СтрокаТЗ.moment,"ДФ=yyyyMMddЧЧммсс")+","+"'"+СтрокаТЗ.externalAccountID+"'"+","+"'"+СтрокаТЗ.contenName+"'"+","+XMLСтрока(СтрокаТЗ.vidimaxContentID)+")";
Конечный вид такой, ребят вы боги, я глупил не сохранил и обработку и пробывал .. . ) |
|||
40
Coldboy
19.10.12
✎
17:38
|
(38) не канает, пробывал там появляется в разделении ГГГГММДД и часов T буква.
|
|||
41
Fragster
гуру
19.10.12
✎
17:39
|
(40) ну и что? это одна из официальных нотаций
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |