|
|
|
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
|
|||
|---|---|---|---|
|
#18+
Суть такова: есть база данных 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'ами никогда раньше дела не имел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 09:51:34 |
|
||
|
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 10:10:36 |
|
||
|
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
|
|||
|---|---|---|---|
|
#18+
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));" нужен вот такой длинный запрос, подскажите пожалуйста, что тут с синтаксисом ??? ЗЫ в акцессе работает как надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2005, 07:52:10 |
|
||
|
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
|
|||
|---|---|---|---|
|
#18+
Дату надо так форматировать: 'YYYY-MM-DD HH:mm:SS' (апострофы вместо решеток) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2005, 09:02:57 |
|
||
|
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
|
|||
|---|---|---|---|
|
#18+
И еще: надо писать так: Like '48815%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2005, 09:41:44 |
|
||
|
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
|
|||
|---|---|---|---|
|
#18+
при попытке выполнения пишет: "[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'Is'". что там возле "Is" не верно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 02:37:58 |
|
||
|
как общаться с базой даных MS SQL Server из Visual Basic 6 ?
|
|||
|---|---|---|---|
|
#18+
MSSQL "не понимает" IIF вместо этого надо использовать ISNULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 08:50:09 |
|
||
|
|

start [/forum/topic.php?fid=60&tid=2167822]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 320ms |

| 0 / 0 |
