|
Изменение записей в таблице sdf | ☑ | ||
---|---|---|---|---|
0
Amfiaray
21.01.14
✎
08:47
|
Добрый день!
Есть база sdf декларант-алко, там уже заполнено всё кроме адресов обособленных подразделений, подскажите возможно ли из 1С 8.2 отредактировать записи в базе? |
|||
1
Ёпрст
21.01.14
✎
08:50
|
Как 2 байта...
|
|||
2
Ёпрст
21.01.14
✎
08:50
|
Если че, 1с для этого даже не нужен..ну разве что, даже не знаю зачем, можно все запросы тупо в qa написать
|
|||
3
Amfiaray
21.01.14
✎
08:51
|
Пробовал вот так:
ОлеДБ = Новый COMОбъект("ADODB.Connection"); ОлеДБ.Provider = "Microsoft.SQLSERVER.CE.OLEDB.3.5"; Соединение = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5; Data Source="+СокрЛП(ПутьКДА)+"; SSCE:Database Password=7338a7e6-fd3b-49d1-8d90-ddbbc1b39fa1"; Попытка ОлеДБ.Open(Соединение); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; ТекстЗапроса= "UPDATE wrk_org SET INN ='"+INN+"',KPP='"+KPP+"',OrgName='"+Наименование+"', |Phone='"+Phone+"',CCode ='"+CCode+"', Index ='"+Index+"', Rcode ='"+Rcode+"', Area ='"+Area+"', |City='"+City+"', Place='"+Place+"',Street='"+Street+"',Building='"+Building+"',Korp='"+Korp+"', |Flat='"+Flat+"', Head_id='"+Head_id+"',OrgType='"+OrgType+"',DirID='"+DirID+"',BuhID='"+BuhID+"', |Liter='"+Liter+"' WHERE OrgName = '"+Наименование+"'"; cmd = Новый COMОбъект("ADODB.Command"); cmd.ActiveConnection = ОлеДБ; cmd.CommandText=ТекстЗапроса; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet.ActiveConnection = ОлеДБ; RecordSet.Open(cmd); Выдает ошибку: {Форма.Форма.Форма(87)}: Ошибка при вызове метода контекста (Open) RecordSet.Open(cmd); по причине: Произошла исключительная ситуация (Microsoft SQL Server Compact OLE DB Provider): В команде имеется одна или несколько ошибок. [,,,,,] |
|||
4
Amfiaray
21.01.14
✎
08:52
|
(2), Адреса в 1С забиты
|
|||
5
Ёпрст
21.01.14
✎
08:53
|
(3)
"' WHERE OrgName = '"+Наименование+"'" тут одинарные ковычки не нужны |
|||
6
Ёпрст
21.01.14
✎
08:54
|
+ писать надо так
"WHERE OrgName like '%"+Наименование+"%'" |
|||
7
Ёпрст
21.01.14
✎
08:58
|
вот те.. рабочий пример
ОлеДБ = Новый COMОбъект("ADODB.Connection"); Соединение = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source="+СокрЛП(КаталогИБ)+";SSCE:Database Password=7338a7e6-fd3b-49d1-8d90-ddbbc1b39fa1"; ОлеДБ.Open(Соединение); Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = ОлеДБ; ТекстЗапроса = " |INSERT INTO DecF11 ([Hid],[vidCode],[ProdId],[idPost],[idLic],[P213],[P214],[P215],[P216],[P106],[P107],[P108],[P109],[P110],[P111],[P112],[P113],[P114],[P115],[P116],[P117],[P118],[P119],[P120],[TTYPE],[idOrg]) |select |75,d.vidCode,d.ProdId,d.idPost,d.idLic,d.P213,d.P214,d.P215,d.P216,d.P106,d.P107,d.P108,d.P109,d.P110,d.P111,d.P112,d.P113,d.P114,d.P115,d.P116,d.P117,d.P118,d.P119,d.P120,d.TTYPE,d.idOrg from DecF11 as d |where d.hid=73"; Command.CommandText = ТекстЗапроса; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet = Command.Execute(); |
|||
8
Amfiaray
21.01.14
✎
09:07
|
(7) Ну в этом коде ведь просто добавляются строки, а мне надо существующие переписать
|
|||
9
Amfiaray
21.01.14
✎
09:08
|
Пробовал как в (6), так же ошибка выходит
|
|||
10
Ёпрст
21.01.14
✎
09:18
|
И чо ?
|
|||
11
Ёпрст
21.01.14
✎
09:18
|
тупо update и усё..
|
|||
12
Ёпрст
21.01.14
✎
09:21
|
и еще, у тя хоть это работает ?
ТекстЗапроса = "select * from [wrk_org]"; ? |
|||
13
Amfiaray
21.01.14
✎
09:30
|
Не выходит, делаю по примеру по SQL:
UPDATE table_name SET column1 = ‘data1’, column2 = ‘data2’ WHERE column3 = ‘data3’; всё равно ошибки |
|||
14
Ёпрст
21.01.14
✎
09:37
|
(13) как в (12) работает ?
|
|||
15
Amfiaray
21.01.14
✎
09:48
|
(14), Да работает
|
|||
16
Amfiaray
21.01.14
✎
09:49
|
Только не:
ТекстЗапроса = "select * from [wrk_org]"; а: ТекстЗапроса = "select * from wrk_org"; |
|||
17
Amfiaray
21.01.14
✎
10:06
|
(14) Работает не только это, я уже заполнил все таблицы из 1С, просто на момент заполнения, адреса не были забиты в базу, теперь хотелось бы просто имеющиеся записи отредактировать
|
|||
18
Ёпрст
21.01.14
✎
10:08
|
(16) %)))))))))))))))))
|
|||
19
Amfiaray
21.01.14
✎
10:10
|
(18) Хватит ржить %) я этот SQL вообще не знаю, меня бухи повесят если им сегодня это не сделаю, они и так уже на сутки с декларацией опаздали
|
|||
20
Amfiaray
21.01.14
✎
10:21
|
Прпробовал удалить все записи и снова записать уже со всеми заполненными полями, фигня вышла, id меняются и записи по подразделениям не выходят :(
|
|||
21
Ёпрст
21.01.14
✎
10:28
|
Ладно..
если уж делаешь update, то будь добр, смотри хотя бы на тип обновляемой колонки и не пихай в число строку. |
|||
22
Ёпрст
21.01.14
✎
10:30
|
на вот, для понимания
https://cloud.mail.ru/public/d3232462c244/123.JPG |
|||
23
Amfiaray
21.01.14
✎
10:34
|
(21) Кстати об этом, ещё когда заносил данные в таблицу 11 возник вопрос, колонки Р106-120 имеют тип DECIMAL, но они нормально записались из переменных типа Р106 = Формат(Количество, "ЧРД='.'; ЧДЦ=5"), почему не выдает ошибку? ведь функция Формат возвращает строку
|
|||
24
Amfiaray
21.01.14
✎
10:53
|
(21) Всё перепроверил, типы данных совпадают с типом колонок
|
|||
25
Ёпрст
21.01.14
✎
10:56
|
Ошибка какая хоть ?
Текст запроса приведи свой |
|||
26
Amfiaray
21.01.14
✎
11:00
|
Текст запроса вот:
UPDATE wrk_org SET [INN] ='2204057496',[KPP]='223745005',[OrgName]='Аватар с.Б.Исток ул.Партизанская 5а', [Phone]='',[Email] = '',[CCode] ='643', [Index] ='659560', [Rcode] ='22', [Area] ='Быстроистокский р-н', [City]='', [Place]='Быстрый Исток с',[Street]='Партизанская ул',[Building]='5',[Korp]='а', [Flat]='',[Head_id]='1',[OrgType]='0',[DirID]='0',[BuhID]='0',[Liter]='' WHERE OrgName = Аватар с.Б.Исток ул.Партизанская 5а А ошибка всё та же {Форма.Форма.Форма(83)}: Ошибка при вызове метода контекста (Open) RecordSet.Open(cmd); по причине: Произошла исключительная ситуация (Microsoft SQL Server Compact OLE DB Provider): В команде имеется одна или несколько ошибок. [,,,,,] |
|||
27
Amfiaray
21.01.14
✎
11:13
|
Во, заменил WHERE OrgName = Аватар с.Б.Исток ул.Партизанская 5а на WHERE id = 10; Просто проверить и такой запрос прошел.
попробую сейчас попробовать чз id сделать |
|||
28
Ёпрст
21.01.14
✎
11:21
|
а зачем делать open ???
|
|||
29
Ёпрст
21.01.14
✎
11:22
|
блин, наименование надо через like делать и в ковычках..
|
|||
30
Amfiaray
21.01.14
✎
11:37
|
(29) Спасибо большое за терпение, разобрался, всё заработало :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |