Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: SQL запрос ??? Добавлено: 22.01.04 09:04  

Автор вопроса:  Dm32

Наверное вопрос ламерский, но чего-то переклинило - не могу додуматься.

Таблица в базе данных

Tab

|id|Name1|Name2|

|1 |1 |1 |

|2 |1 |2 |

|3 |1 |3 |

rsTab.MoveFirst

While Not rsTab!Name1 = TreeView1.SelectedItem

rsTab.MoveNext

Wend

Text1.Text = rsTab!Name2

из rsTab!Name1, при клике на ноду с текстом 1 открывается первая запись в базе данных: 1__1, а 1__2, 1__3 не открываются.

Показывается только первая запись: 1__1

А как с остальными?

Чувствую дело в запросе на выборку по id, но как его написать не знаю...

Ответить

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

Номер ответа: 1
Автор ответа:
 optimizm



Вопросов: 2
Ответов: 7
 Профиль | | #1 Добавлено: 22.01.04 09:19

Во первых, при чем тут SQL, в упор не вижу никаких SQL запросов. Во вторых тут у тебя естественно запись в таблице будет вставать на первую и будет выход из цикла. SQL запрос будет выглядеть так, если я правильно понял задачу:

select name2

from rsTab

where name1=TreeView1.SelectedItem

где rsTab это название твоей таблицы, а вместо TreeView1.SelectedItem  добавляется соответствующее значение. Затем то что полученно по запросу в цикле выводишь на экран, и выведется 1__1, 1__2 и 1__3. Уж как это тебе надо выводить думай сам.

Причем тут выборка по id тоже не понятно, у тебя тут id вовсе не используется. Если я че то не правильно понял, то опиши конкреней что тебе надо сделать.

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 22.01.04 15:04

sSQL = "SELECT * FROM Tab WHERE Tab.Name1 = " & CStr(TreeView1.SelectedItem)

Это твоя строка с SQL-запросом, а как из нее RecordSet получить - твоя основная задача... :)

Ответить

Номер ответа: 3
Автор ответа:
 optimizm



Вопросов: 2
Ответов: 7
 Профиль | | #3 Добавлено: 22.01.04 15:09

Dim myDinInf As Recordset, myDBInf As Database

Set myDBInf = DBEngine.Workspaces(0).OpenDatabase(dirNet & "inform.mdb")

Set myDinInf = myDBInf.OpenRecordset(sSQL, dbOpenDynaset)

вот тебе и RecordSet.

Ответить

Номер ответа: 4
Автор ответа:
 Dm32



Вопросов: 2
Ответов: 4
 Профиль | | #4 Добавлено: 23.01.04 02:26

optimizm 1.Я бы и рад без запроса, но как тогда вытащить одинаковые значения?

2.Увы у меня ADO Jet 4.0

Ответить

Номер ответа: 5
Автор ответа:
 optimizm



Вопросов: 2
Ответов: 7
 Профиль | | #5 Добавлено: 23.01.04 07:55

DM32 не понял твой последний ответ.

Напиши полностью весь блок. Я так понимаю rsTab это твой RecordSet, откуда он берется покажи.

Или может RecordSet это уже полученный по SQL запросу. Тогда тебе в цикле надо поменять условие, убрать Not и все, он будет пробегать по всей таблице где значения совпадают и в цикле же надо выводить значения.

Ответить

Номер ответа: 6
Автор ответа:
 Dm32



Вопросов: 2
Ответов: 4
 Профиль | | #6 Добавлено: 23.01.04 08:52

Set con = New Connection

con.Provider = "microsoft.jet.oledb.4.0"

con.ConnectionString = "user ID=admin; password=;" & _

"data source=" & App.Path & "\db1.mdb"

con.Open

Set rsTab = New Recordset

With rsTab

.CursorLocation = adUseClient

.CursorType = adOpenDynamic

.LockType = adLockOptimistic

.Open "Select * from Tab", con

End With

Вроде Н.Г. прошёл но чего-то ничего сообразить не могу.

Ответить

Номер ответа: 7
Автор ответа:
 optimizm



Вопросов: 2
Ответов: 7
 Профиль | | #7 Добавлено: 23.01.04 09:03

Вот там где у тебя написано .Open(...), вместо твоего запроса впиши этот запрос

 "SELECT * FROM Tab WHERE Tab.Name1 = " & CStr(TreeView1.SelectedItem)

А затем в цикле беги поменяв условие, т.е. убрав Not, и каждое значение записывая куда там тебе надо.

 

Ответить

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



Вопросов: 2
Ответов: 4
 Профиль | | #8 Добавлено: 23.01.04 09:08

Не получается ошибка 91

Ответить

Номер ответа: 9
Автор ответа:
 Dm32



Вопросов: 2
Ответов: 4
 Профиль | | #9 Добавлено: 29.01.04 02:12

Ответ найден, всем большое спасибо!

Ответить

Страница: 1 |

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



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