Страница: 1 |
Страница: 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 по-моему
больше в общем форуме этого сайта