|   |   | 
| 
 | Чтение и запись *.SDF | ☑ | ||
|---|---|---|---|---|
| 0
    
        Ivan Bezdomnyi 13.09.12✎ 13:32 | ||||
| 1
    
        Ёпрст гуру 13.09.12✎ 13:36 | 
        Написать простейщий запрос к ней вестимо.     | |||
| 2
    
        Ёпрст гуру 13.09.12✎ 13:36 | 
        через ado     | |||
| 3
    
        Ivan Bezdomnyi 13.09.12✎ 13:45 | 
        (2) есть пример?     | |||
| 4
    
        Ёпрст гуру 13.09.12✎ 13:47 | 
        (3) 
  берешь любого провайдера из этих.. далее всё просто http://connectstr.ru/?page_id=21207 пример могу слепить, надо ? | |||
| 5
    
        Ivan Bezdomnyi 13.09.12✎ 13:50 | 
        (4) был бы признателен)     | |||
| 6
    
        andrewks 13.09.12✎ 13:55 | 
        с момента введения декларирования у алкоголиков резко возрос интерес к xml, xsd и sdf )))     | |||
| 7
    
        Ivan Bezdomnyi 13.09.12✎ 13:58 | 
        (6) а почему бы и да)     | |||
| 8
    
        Ёпрст гуру 13.09.12✎ 14:20 | 
        ОлеДБ = Новый COMОбъект("ADODB.Connection");
  Соединение = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source="+СокрЛП(тут путь к *.sdf)+";SSCE:Database Password=тут пароля к базе"; ОлеДБ.Open(Соединение); Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = ОлеДБ; ТекстЗапроса = " |select * |from нужная табличка |"; Command.CommandText = ТекстЗапроса; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet = Command.Execute(); Если not RecordSet.EOF() Тогда RecordSet.MoveFirst(); Пока RecordSet.EOF() = 0 Цикл Сообщить(RecordSet.Fields.Item(1).value);//тут нужные поля RecordSet.MoveNext(); КонецЦикла; КонецЕсли; RecordSet.Close(); RecordSet = Неопределено; Command = Неопределено; | |||
| 9
    
        Ivan Bezdomnyi 14.09.12✎ 05:52 | 
        (8) спасибо!
  а как посмотреть какие там есть таблички в этой базе? и есть ли способ их не только читать, но и записывать/дополнять? | |||
| 10
    
        shuhard 14.09.12✎ 07:31 | 
        (9) [а как посмотреть какие там есть таблички в этой базе?]
  ADOX [и есть ли способ их не только читать, но и записывать/дополнять?] у рекордсета 4 метода: Addnew Delete Update Edit | |||
| 11
    
        SmallDog 14.09.12✎ 07:43 | ||||
| 12
    
        Ivan Bezdomnyi 14.09.12✎ 12:19 | 
        (10) прошу прощения, но не могу допереть как пользоваться этими методами?
  и гуглил и так и сяк пробовал, может есть пример? | |||
| 13
    
        shuhard 14.09.12✎ 12:26 | 
        (12) примеров на мисте туча, что конкретно не получается ?     | |||
| 14
    
        Ivan Bezdomnyi 14.09.12✎ 12:35 | 
        Command = Новый  ComОбъект("ADODB.Command");
  Command.ActiveConnection= ОлеДБ; Command.CommandText = "select * from wrk_Contragents"; Recordset.CursorLocation = 3; Recordset.Open("select * from wrk_Contragents",ОлеДБ, 2,3); RecordSet.AddNew(); RecordSet.Fields("INN").value="1"; RecordSet.Fields("KPP").value="2"; RecordSet.Fields("OrgName").value="RECORDSET"; RecordSet.Fields("CCode").value="643"; RecordSet.Fields("RCode").value="01"; RecordSet.Update(); Произошла исключительная ситуация (Microsoft Cursor Engine): Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний. Читать - читает, как в (8) написано. А записать не получается. | |||
| 15
    
        shuhard 14.09.12✎ 12:39 | 
        (14) база состоит из одних текстовых полей, да ещё не бланкированных [01] - не верю     | |||
| 16
    
        Ivan Bezdomnyi 14.09.12✎ 12:43 | 
        (15) не понял     | |||
| 17
    
        Ivan Bezdomnyi 17.09.12✎ 06:44 | 
        ОлеДБ = Новый COMОбъект("ADODB.Connection");
  Соединение = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source="+СокрЛП("D:\base.sdf")+";SSCE:Database Password=asdf"; ОлеДБ.Open(Соединение); Command = Новый ComОбъект("ADODB.Command"); Command.ActiveConnection = ОлеДБ; Command.CommandText = "select * from wrk_Contragents"; RecordSet = Новый ComОбъект("ADODB.Recordset"); Recordset.CursorLocation = 3; Recordset.Open("select * from wrk_Contragents",ОлеДБ,2,3); RecordSet.AddNew(); RecordSet.Fields("INN").value=111; //RecordSet.Fields("KPP").value="2"; //RecordSet.Fields("OrgName").value="RECORDSET"; //RecordSet.Fields("CCode").value="643"; //RecordSet.Fields("RCode").value="01"; RecordSet.Update(); RecordSet.Close(); Возникает ошибка на строке Recordset.Open("select * from wrk_Contragents",ОлеДБ,2,3); Произошла исключительная ситуация (Microsoft Cursor Engine): Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний. Что ему надо?( | |||
| 18
    
        Ivan Bezdomnyi 17.09.12✎ 08:32 | 
        хелп     | |||
| 19
    
        Ёпрст гуру 17.09.12✎ 10:05 | 
        (18) а зачем вообще делать select * from wrk_Contragents ?
  заняться нечем ? | |||
| 20
    
        Ivan Bezdomnyi 17.09.12✎ 10:37 | 
        (19) а как нужно делать? чтоб указать в какую таблицу нужно добавить?     | |||
| 21
    
        Ivan Bezdomnyi 17.09.12✎ 11:22 | 
        Попробовал сделать вот так:
  ОлеДБ = Новый COMОбъект("ADODB.Connection"); Соединение = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source="+СокрЛП("D:\base.sdf")+";SSCE:Database Password=asdf"; ОлеДБ.Open(Соединение); Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = ОлеДБ; ТекстЗапроса = " |select * |from wrk_Contragents |"; Command.CommandText = ТекстЗапроса; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet.CursorLocation=3; Recordset.CursorType=2; Recordset.LockType=3; RecordSet = Command.Execute(); RecordSet.AddNew(); RecordSet.Fields("INN").value=111; RecordSet.Update(); RecordSet.Close(); На строке AddNew() выдает "Произошла исключительная ситуация (ADODB.Recordset): Текущий объект Recordset не поддерживает обновление. Это связано с ограничением поставщика или с выбранным типом блокировки." хотя вроде же пишу Recordset.LockType=3; непоняааатно | |||
| 22
    
        shuhard 17.09.12✎ 11:28 | 
        (21) а на куя для открытия рекордсета команда ?     | |||
| 23
    
        Ivan Bezdomnyi 17.09.12✎ 11:38 | 
        (22) да я же говорю уже всё перепробовал.
  и как тут пытался v8: ADODB RecordSet AddNew() не доходит как сделать надо | |||
| 24
    
        shuhard 17.09.12✎ 11:39 | 
        (23) ну так найди сайт СУБД и выясни причину [Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний. ]
  проблема к 1С отношения не имеет | |||
| 25
    
        chel3 24.09.12✎ 05:49 | 
        Товарищи! кто загонял напрямую данные из 1С в декларант алко, подскажите пожалуйста как обошли пароль на SDF файл в последних обновлениях, и второе, когда я переношу контрагентов в декларант алко, почему то в журнале справочника, поле "наименование" остается пустое, хотя когда заходишь в сам элемент справочника наименование стоит, в чем может быть проблема?     | |||
| 26
    
        Ёпрст гуру 24.09.12✎ 09:44 | 
        (25) 
  1.пароль не проблема 2.нужно пихать все поля в инсёрте, т.е заместо null пихать пустые строки. | |||
| 27
    
        H A D G E H O G s 24.09.12✎ 09:44 | 
        На что не пойдут 1С-неги, чтобы декларацию сдать.     | |||
| 28
    
        kihanat 09.10.12✎ 21:31 | 
        пароль на base.sdf
  7338a7e6-fd3b-49d1-8d90-ddbbc1b39fa1 | |||
| 29
    
        acsent 09.10.12✎ 21:40 | 
        делай insert или update     | |||
| 30
    
        Bugmenot 07.11.12✎ 12:49 | 
        (11) - он может модифицировать структуру таблиц?     | |||
| 31
    
        Bugmenot 07.11.12✎ 12:51 | 
        (11) - файлы уже удалены     | |||
| 32
    
        Bugmenot 07.11.12✎ 12:57 | 
        http://sqlcetoolbox.codeplex.com/documentation
  Я так и не понял, есть ли тут версия для Visual Studio 2008 и SQL Server CE 3.5 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |