Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Срочно базы данных на .NET!!!!!! Добавлено: 26.08.04 17:48  

Автор вопроса:  Александр | ICQ: 204034 
Где ошибка? По-моему нет объявления ws - как это сделать?
    Private db As DAO.Database
    Private ws As DAO.Workspace
    Private rs As DAO.Recordset
    Private rs2 As DAO.Recordset
    Private sSQL As String
    Private outDir As String

...

With oFile
            .CheckFileExists = True
            .CheckPathExists = True
            .DefaultExt = "mdb"
            .Filter = "Microsoft DataBase (*mdb)|*.mdb"
            .Multiselect = False
            .ReadOnlyChecked = False
            .Title = "Open database file"
            Select Case .ShowDialog
                Case DialogResult.OK
                    db = ws.OpenDatabase(txtPath.Text, , True)
                    sSQL = "SELECT * FROM faqdata"
                    rs = db.OpenRecordset(sSQL)
                    sSQL = "SELECT * FROM groupname"
                    rs2 = db.OpenRecordset(sSQL)
                    sSQL = vbNullString

                    If rs.RecordCount = 0 Or rs2.RecordCount = 0 Then
                        MsgBox("Одна из таблиц пуста. Дальнейшая работа невозможна.")
                        Exit Sub
                    End If

                    Dim i As Integer, sFile As String
                    i = FreeFile()
                    outDir = GetPath(.FileName) & "out_dir\"
                    Call System.IO.Directory.CreateDirectory(outDir)
                    rs.MoveFirst()
                    rs2.MoveFirst()

                    Do While Not rs2.EOF
                        If Trim(rs("sectionname").Value) <> vbNullString Then
                            System.IO.Directory.CreateDirectory(outDir & rs2("sectionname").Value)
                            sSQL = "SELECT * FROM faqdata WHERE groupid=" & rs2("id").Value
                            rs = db.OpenRecordset(sSQL)
                            rs.MoveFirst()
                            Do While Not rs.EOF
                                If Trim(rs("name").Value) = vbNullString Then
                                    sBar.Panels(0).Text = "Внесение в файл"
                                    sFile = outDir & rs2("sectionname").Value & "\" & rs("name").Value
                                    System.IO.File.CreateText(sFile)
                                    FileOpen(i, sFile, OpenMode.Output, OpenAccess.Write)
                                    PrintLine(i, rs("text0").Value & vbCrLf & vbCrLf & "----------------------" & vbCrLf & vbCrLf & rs("text").Value)
                                    FileClose(i)
                                    sBar.Panels(0).Text = "Внесение в файл завершено."
                                    rs.MoveNext()
                                Else
                                    rs.MoveNext()
                                End If
                            Loop
                            rs.MoveNext()
                        Else
                            rs.MoveNext()
                        End If
                    Loop

                Case DialogResult.Cancel
            End Select

        End With

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #1 Добавлено: 26.08.04 17:51
Ах, да, забыл:
Error 91: Object reference not set to an instance of an object
Использую DAO 3.61

Ответить

Номер ответа: 2
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #2 Добавлено: 26.08.04 17:54
Даже после добавления строки: txtPath.Text = .FileName
Он дает ошибку...

Ответить

Номер ответа: 3
Автор ответа:
  Артём Л.



ICQ: 280044491 

Вопросов: 43
Ответов: 227
 Профиль | | #3 Добавлено: 26.08.04 17:57
по-моему это форум вб.нет а не вб6



Ответить

Номер ответа: 4
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #4 Добавлено: 26.08.04 18:02
А ты че, не видишь, что это код на VB.NET

Ответить

Номер ответа: 5
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #5 Добавлено: 26.08.04 18:35
Щас все работает:

Вставлено:
Friend DAODBEngine As New DAO.DBEngine()

Удалено:
Private ws As DAO.Workspace

Изменено:
db = DAODBEngine.OpenDatabase(txtPath.Text, , True)

Но вылетает в цикле на:
sSQL = "SELECT * FROM faqdata WHERE groupid=" & rs2("id";).Value
rs = db.OpenRecordset(sSQL)

Говорит:
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in faq2html.exe

Additional information: Слишком мало паметров, требуется 1.

Что делать?

Ответить

Номер ответа: 6
Автор ответа:
  Артём Л.



ICQ: 280044491 

Вопросов: 43
Ответов: 227
 Профиль | | #6 Добавлено: 26.08.04 18:50
>А ты че, не видишь, что это код на VB.NET

действительно, просто увидел DAO, его вроде нет нужды использовать в .нет.
Вроде ADO.NET рулит



Ответить

Номер ответа: 7
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #7 Добавлено: 26.08.04 19:49
Все работает - там не groupid, а group_id
Тема закрыта.

Ответить

Номер ответа: 8
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #8 Добавлено: 27.08.04 00:58
Вопрос к многоуважаемому господину Артему Л.
А куда мне направиться если вопрос по VB 6.0/5.0?

Ответить

Номер ответа: 9
Автор ответа:
  Артём Л.



ICQ: 280044491 

Вопросов: 43
Ответов: 227
 Профиль | | #9 Добавлено: 27.08.04 10:25
>А куда мне направиться если вопрос по VB 6.0/5.0?

да можешь и здесь писать, но здесь восновном спорят по .нет, а по 6 по-моему
больше в общем форуме этого сайта



Ответить

Страница: 1 |

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



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