Посмотреть запрос в Access в виде SQL
От: RendeRR Россия nothing
Дата: 02.03.05 08:04
Оценка:
Есть готовая база MS Access, в ней готовые запросы, можно ли средствами .NET посмотреть эти запросы в виде SQL, или выполнить их. Если можно, примерчик на VB. Спасибо.
Не знаешь как правильно – делай, как знаешь…
Re: Посмотреть запрос в Access в виде SQL
От: Stewe  
Дата: 02.03.05 09:00
Оценка:
Здравствуйте, RendeRR, Вы писали:

RRR>Есть готовая база MS Access, в ней готовые запросы, можно ли средствами .NET посмотреть эти запросы в виде SQL, или выполнить их. Если можно, примерчик на VB. Спасибо.

Это легко сделать, подключив ADOX.
Re[2]: Посмотреть запрос в Access в виде SQL
От: RendeRR Россия nothing
Дата: 02.03.05 09:37
Оценка:
Здравствуйте, Stewe, Вы писали:

S>Здравствуйте, RendeRR, Вы писали:


RRR>>Есть готовая база MS Access, в ней готовые запросы, можно ли средствами .NET посмотреть эти запросы в виде SQL, или выполнить их. Если можно, примерчик на VB. Спасибо.

S>Это легко сделать, подключив ADOX.

Если можно примерчик, хотя бы куда копать...
Не знаешь как правильно – делай, как знаешь…
Re[3]: Посмотреть запрос в Access в виде SQL
От: Stewe  
Дата: 02.03.05 09:55
Оценка: 2 (1)
Здравствуйте, RendeRR, Вы писали:

RRR>Если можно примерчик, хотя бы куда копать...


Там есть объект Catalog, у него коллекция Views (это и есть сохраненные запросы). У View есть св-во Command — это объект ADODB.Command, у которого есть св-во CommandText. Это оно и есть.
ЗЫ: Написал по памяти, так что за правильность названия свойств не ручаюсь.
Re[3]: Посмотреть запрос в Access в виде SQL
От: Peter Fleischer Германия www.informtoools.de
Дата: 02.03.05 10:22
Оценка: 3 (1)
"RendeRR" <33367@users.rsdn.ru> schrieb im Newsbeitrag news:1051623@news.rsdn.ru...
> Здравствуйте, Stewe, Вы писали:
>
> S>Здравствуйте, RendeRR, Вы писали:
>
> RRR>>Есть готовая база MS Access, в ней готовые запросы, можно ли средствами .NET посмотреть эти запросы в виде SQL, или выполнить их. Если можно, примерчик на VB. Спасибо.
> S>Это легко сделать, подключив ADOX.
>
> Если можно примерчик, хотя бы куда копать...

Напр. так:

  Private Sub Button8_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button8.Click
    cnn = New ADODB.Connection
    With cnn
      .ConnectionString = "provider=microsoft.jet.oledb.4.0;"
      .ConnectionString &= "data source=" & dbName.Text & ";"
      Try
        .Open()
      Catch ex As Exception
        MsgBox("Connection: Open-Error" & vbCrLf & ex.Message)
      End Try
    End With
    cat = New ADOX.Catalog
    cat.ActiveConnection = cnn
    '  database
    With cat
      For Each v As ADOX.View In .Views
        Trace.Write("---- " & v.Name & vbNewLine)
        Trace.WriteLine(CType(v.Command, ADODB.Command).CommandText)
      Next
    End With
  End Sub


Peter
Posted via RSDN NNTP Server 1.9
Re[4]: Посмотреть запрос в Access в виде SQL
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 02.03.05 10:36
Оценка:
Здравствуйте, Stewe, Вы писали:

S>Там есть объект Catalog, у него коллекция Views (это и есть сохраненные запросы). У View есть св-во Command — это объект ADODB.Command, у которого есть св-во CommandText. Это оно и есть.


Все правильно. НО! кроме Views есть еще и Procedures — это типа хранимые процедуры, но из опыта могу сказать что Access не видит разницу между Views и Procedures (или я не прав?..), так что можно считать что в данном случае это одно и то же с разным названием.
Re[4]: Посмотреть запрос в Access в виде SQL
От: RendeRR Россия nothing
Дата: 03.03.05 08:27
Оценка:
Здравствуйте, Peter Fleischer, Вы писали:


PF>"RendeRR" <33367@users.rsdn.ru> schrieb im Newsbeitrag news:1051623@news.rsdn.ru...

>> Здравствуйте, Stewe, Вы писали:
>>
>> S>Здравствуйте, RendeRR, Вы писали:
>>
>> RRR>>Есть готовая база MS Access, в ней готовые запросы, можно ли средствами .NET посмотреть эти запросы в виде SQL, или выполнить их. Если можно, примерчик на VB. Спасибо.
>> S>Это легко сделать, подключив ADOX.
>>
>> Если можно примерчик, хотя бы куда копать...

PF>Напр. так:


PF>
PF>  Private Sub Button8_Click(ByVal sender As System.Object, _
PF>        ByVal e As System.EventArgs) Handles Button8.Click
PF>    cnn = New ADODB.Connection
PF>    With cnn
PF>      .ConnectionString = "provider=microsoft.jet.oledb.4.0;"
PF>      .ConnectionString &= "data source=" & dbName.Text & ";"
PF>      Try
PF>        .Open()
PF>      Catch ex As Exception
PF>        MsgBox("Connection: Open-Error" & vbCrLf & ex.Message)
PF>      End Try
PF>    End With
PF>    cat = New ADOX.Catalog
PF>    cat.ActiveConnection = cnn
PF>    '  database
PF>    With cat
PF>      For Each v As ADOX.View In .Views
PF>        Trace.Write("---- " & v.Name & vbNewLine)
PF>        Trace.WriteLine(CType(v.Command, ADODB.Command).CommandText)
PF>      Next
PF>    End With
PF>  End Sub
PF>


PF>Peter


Спасибо за код — работает отлично, но он возвращает только запросы на выборку и то, только те, где не требуется вводить значения параметров. Как быть с остальными? И ещё вопрос: в результате запроса имеем таблицу, можно ли узнать заголовки полей этой таблицы? Ещё раз спасибо.
Не знаешь как правильно – делай, как знаешь…
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.