powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как общаться с базой даных MS SQL Server из Visual Basic 6 ?
8 сообщений из 8, страница 1 из 1
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33049613
Independent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть такова: есть база данных MS Access, есть программа на VB6, которая работает с этой базой (чтение, изменени, запись в существующие таблицы, создание и удаление новых таблиц). Существующая связка (file.mdb + VB6) не стабильна, т.е очень часто "Нераспознаваемый формат БД". Хочу перевести БД на MS SQL и переписать программку, надеясь что стабильность будет выше...

Мне очень помогло бы если бы ктонибудь знающий подсказал мне как реализовать следующие действия применительно к БД находящейся на MS SQL Server'е:

1. открытие БД.
для mdb базы я делал так:
Set db = OpenDatabase("C:\RG99.mdb")
какой аналог для SQL Server'а ?

2. выборка из БД.
как есть:
Set rs = db.OpenRecordset("Select * from Tbl")
какой аналог для SQL Server'а ?

3. создание новой таблицы
как есть:
db.Execute ("select * INTO NewTbl FROM Tbl")
какой аналог для SQL Server'а ?

4. удаление таблицы
как есть:
db1.TableDefs.Delete "NewTbl"
какой аналог для SQL Server'а ?

5. добавление данных в таблицу
как есть:
rs.AddNew
rs.Fields("Name") = "MyName"
rs.Update
какой аналог для SQL Server'а ?

6. редактирование данных в таблице
как есть:
rs.Edit
rs.Fields("Name") = "MyName"
rs.Update
какой аналог для SQL Server'а ?

и вроде вывод из БД данных в DataGrid на форме получается:

Form1.Adodc1.ConnectionString = _
"driver={SQL Server};server=server;database=rg99"

Form1.Adodc1.RecordSource = "select * from Tbl"
Form1.TDBGrid1.DataSource = Form1.Adodc1

вроде пока всё...

базу данных mdb успешно импортировал в SQL Server.

подскажите пожалуйста как все это сделать для MS SQL Server 2000 Developer edition ?

заранее благодарен за помощь...

P.S. с SQL Server'ами никогда раньше дела не имел...
...
Рейтинг: 0 / 0
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33049659
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по первым 6 вопросам настоятельно советую почитать help по ADO.
...
Рейтинг: 0 / 0
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33053913
Independent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-duke , точно.... нашел в хэлпе....

появилась следующая проблема. следующий запрос скопированный из акцесса выдает ошибку в синтаксисе при обращении к SQL Server'у:

Form1.Adodc1.RecordSource = _
"SELECT SC33_full.DESCR, RG99_last.SP102 AS Остаток," & _
" Sale.QT AS Продано, Sale.Date, IIf(sale.qt Is Not Null," & _
" RG99_last.SP102-Sale.QT,rg99_last.sp102) AS Осталось," & _
" RG99_last.SP3802 AS Сумма," & _
" RG99_last.SP3802/RG99_last.SP102 AS Цена$," & _
" SC33_full.SP93 AS Валюта," & _
" IIf(SC33_full.SP93=' 1'," & _
" Round(32*RG99_last.SP3802/RG99_last.SP102,0)," & _
" Round(RG99_last.SP3802/RG99_last.SP102,0)) AS [Цена Р]," & _
" SC33_full.SP38 AS Закуп, SC33_full.SP3814 AS [%]" & _
" FROM (SC33_full LEFT JOIN RG99_last" & _
" ON SC33_full.ID = RG99_last.SP101)" & _
" LEFT JOIN Sale ON SC33_full.ID = Sale.ID" & _
" WHERE (((SC33_full.DESCR) Like '48815*')" & _
" AND ((Sale.Date)=#4/21/2005#))" & _
" OR (((SC33_full.DESCR) Like '48815*')" & _
" AND ((Sale.Date) Is Null));"

нужен вот такой длинный запрос, подскажите пожалуйста, что тут с синтаксисом ???
ЗЫ в акцессе работает как надо
...
Рейтинг: 0 / 0
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33053928
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дату надо так форматировать:

'YYYY-MM-DD HH:mm:SS'

(апострофы вместо решеток)
...
Рейтинг: 0 / 0
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33053935
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще:

надо писать так:

Like '48815%'
...
Рейтинг: 0 / 0
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33055417
Independent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при попытке выполнения пишет: "[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'Is'".
что там возле "Is" не верно ?
...
Рейтинг: 0 / 0
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33055457
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSSQL "не понимает" IIF
вместо этого надо использовать ISNULL
...
Рейтинг: 0 / 0
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
    #33057205
Independent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пришлось использовать Case , оказалось довольно удобно...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как общаться с базой даных MS SQL Server из Visual Basic 6 ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]