Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: ADO и SQL? Добавлено: 24.04.03 23:50  

Автор вопроса:  !DEN! | ICQ: 276572424 

Есть Text и grid. В Text'e выводится фамилия друга. Так вот как  мне нужно построить sql - запрос так чтобы в гриде выводился email (Их можит быть два) этого друга. 

Спасибо!

Ответить

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

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



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #1
Добавлено: 25.04.03 02:19

SELECT emailAddress FROM yourTable WHERE friendName = 'his name'

Вообщето это даже не азбука, трудитесь люди хоть раз в неделю читать хелпы! RTFM

Ответить

Номер ответа: 2
Автор ответа:
 !DEN!



ICQ: 276572424 

Вопросов: 7
Ответов: 33
 Профиль | | #2 Добавлено: 25.04.03 19:39
Проблемма в том что у меня нет helpa...=(

Ответить

Номер ответа: 3
Автор ответа:
 !DEN!



ICQ: 276572424 

Вопросов: 7
Ответов: 33
 Профиль | | #3 Добавлено: 25.04.03 20:24

Да кстати не подскажите где достать Activex Grid который поддерживает DAO?

Ответить

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



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #4
Добавлено: 26.04.03 01:13

Чтобы составить подобный шедевр хелпы не нужны в принципе. Да и про хелпы я просто обобщил. По SQL'у в инете информации полно. В том числе и MSDN'овской.

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

Ответить

Номер ответа: 5
Автор ответа:
 !DEN!



ICQ: 276572424 

Вопросов: 7
Ответов: 33
 Профиль | | #5 Добавлено: 26.04.03 15:47

>гораздо проще и легче получить и обработать рекордсет в любой стандартный контрол нужным тебе образом (Писал hadgehog)

Не я просто еще путаюсь в ADO  мне легче пока с ;DAO в ADO не могу понять как там SQL работает..=( вроде пишу правильнно 

Sql = "SELECT email FROM email WHERE id_user =" + text1 Можит просто ADO не можит из text'a брать id, а с ;DAO всё идет норма. ;)    Да а насчет Activex'a Grida мне нужно редактировать email. А вобще я еще только начал изучать Visual Basic и БД так что я могово ещё не понемаю...=)

 

Ответить

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



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #6
Добавлено: 28.04.03 13:01

> Можит просто ADO не можит из text'a брать id, а с ;DAO

Ничего сам ADO впрочем как и DAO ни из какиз тестов не берет он просто выполняет твои команды применительно к БД. И если он делает что-то не то, то только от того, что ты же что-то где-то упустил

Ответить

Номер ответа: 7
Автор ответа:
 !DEN!



ICQ: 276572424 

Вопросов: 7
Ответов: 33
 Профиль | | #7 Добавлено: 28.04.03 23:25

Hedgehog, вы случайно не качали flexgridplus c этого сайта?   если да, то как подключить его к Data?  Спасибо!

Ответить

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



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #8
Добавлено: 28.04.03 23:37

Качать то я его качал, да только использовать не стал - все в нем хорошо, но нельзя делать объединения ячеек как в обычном флексе. А у меня на этом все оформление флексов завязано. Так что юзаю до сих пор стандартный флекс. А подключать его не пробовал. Можно считать это моим небольшим бзиком, но не люблю я всю эту автоматизацию. Мне лучше получить чистый рекордсет и распотрошить его так как мне надо  

И с подключением к данным у Плюса та же история что и с Merge. Свойство DataSource у него бесследно пропало.

К сожалению не помню, чьего творения Плюс, но автору стоило бы обратить внимание и на подобные "мелочи". Контрол то в целом классный, но...

Ответить

Номер ответа: 9
Автор ответа:
 !DEN!



ICQ: 276572424 

Вопросов: 7
Ответов: 33
 Профиль | | #9 Добавлено: 28.04.03 23:51
Кароче как я понел его нельзя подключить! или можно?  Вот я тоже посмотрел на контрол вродебы классный, он мне понравился! так вот не знаю как подключить...=) А вот я еще хотел спросить я скачал  контрол DBGrid 7,0 когда я запускаю VB он мне выдает что осалось 30 дней до истечения срока пользования! Вот чё меня пугает если я exe -ик зделаю, то после 30 дней он будет работать? или ...

Ответить

Номер ответа: 10
Автор ответа:
 hedgehog



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #10
Добавлено: 29.04.03 00:38
C трех раз догадаешься сам? Выбрось ты эти костыли и работай с чистыми библиотеками, у них триала нет.

Ответить

Номер ответа: 11
Автор ответа:
 !DEN!



ICQ: 276572424 

Вопросов: 7
Ответов: 33
 Профиль | | #11 Добавлено: 29.04.03 01:42
Да мне просто не составить запрос у меня в проекте есть data и например 3 текстбокса в этих 3 text-ах выводится Имя, Фамилия, Отчество. Так вот мне нужно зделать запрос предпаложим в во Flexgride что бы он выводил email я его здел, получилось так "Select email FROM email WHERE id_friend =" + text4.text   -   а text4.text выводит id друга но он какбы "visible = false" И вот мне тут нужно редактировать а как известо FlexGrid нет токого свойства А datagrid подерживает только Adodc..=( вот внем мне как раз и не зделать запрос что бы он из text4.texta брал "id" и вот что еще у меня почемуто нет ;DBDrida! Можит чем нибуть поможишь или подскажишь как чё зделать!

Ответить

Номер ответа: 12
Автор ответа:
 vitus



Вопросов: 9
Ответов: 43
 Web-сайт: www.jgukz.narod.ru
 Профиль | | #12
Добавлено: 29.04.03 09:38

У меня один вопрос к !DEN!  в поле  id_friend  у тебя какой тип данных если числовой то тебе нужно преобразовать значение из text4.text   в числовой, а если текстовое то значение из text4.text   заключи в одинарные ковычки

1. Select email FROM email WHERE id_friend =" + CInt(text4.text)

2. Select email FROM email WHERE id_friend ='" + text4.text + "'

Возможно у тебя из-за этого не получается

Ответить

Номер ответа: 13
Автор ответа:
 hedgehog



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #13
Добавлено: 29.04.03 11:20

Страна Советов начинается:

Совет первый: если у тебя проблемы с написанием запроса (это вполне возможно с написанием запроса из нескольких таблиц используя Join), открывай Аксесс и в конструкторе запросов там разве только пингвин дикий запрос не составит любой сложности, копируй его SQL-команду и пользуй.

Совет второй: не надо никаких преобразований типов, как советует тебе vitus. Запрос ты передаешь все равно как строку. Главное убедись, что то что ты подставляешь из текста - действительно число и что поле в таблице у тебя (надеюсь) числовое.

И еще уточнение - спокойно и обстоятельно напиши что же ты хочешь иметь на выходе и скакой целью. Честно говоря я пока толком из твоих объяснений не могу понять - какие-то невидимые поля в которые зачем-то должны отбираться ид друзей и все такое... Давай с самого начала и обстоятельно как техническое задание

Ответить

Номер ответа: 14
Автор ответа:
 !DEN!



ICQ: 276572424 

Вопросов: 7
Ответов: 33
 Профиль | | #14 Добавлено: 29.04.03 23:31

Ну вот постараюсь обьяснить. На Form'e будут находиться 3 textboxa в них будет выводиться "Имя" "Фамилия" "Отчество" с низу под text-ами будет находиться ;DGrid в нем выводиться email (только не все мыла, а того кто отображаеться в text-e) Так вот как мне зделать это с Adodc? если не влень можишь весь код написать чтобы попотробние  . Да чуть не забыл можно ли в запрос переменную всавить если да то как ?

Спасибо!

Ответить

Номер ответа: 15
Автор ответа:
 hedgehog



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #15
Добавлено: 30.04.03 02:53

Понять не могу, зачем ты привязался к DBGrid'ам. Я так понимаю, ты хочешь вводить имя, фамилию и прочее и получать емейл. Смысла в данных действиях я лично не вижу особого, но тем неменее...

C помощью ADO это будет примерно так:

Dim Conn as new ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & your_path & ";" 'если у тебя не Аксесс то и строка соответственно должна быть малость другой

dim RS as new ADODB.Recordset
rs.open "SELECT emailAddress FROM yourTable WHERE firstName = '" & txtFirstName & "' AND midName='" & txtMidName & "' AND lastName='" & txtLastName, Conn

do until rs.eof
debug.print rs("emailAddress") 'здесь ты имеешь строки с адресами - вуаля!
rs.movenext
loop

rs.close

set rs=nothing
set conn=nothing

Вот собственно самый элементарный спсоб получить данные как есть. Только ни под какие контролы я подстраиваться не собираюсь, если ты по прежнему хочешь работать через них - твое право. На мой взгляд главное получить правильные данные в правильное время и в правильном месте. А то что я изобразил дебугом, можно с успехом засунуть в любой контрол или обработать любым другим образом.

На счет переменных - в данном случае ты должен сформировать правильную строку запроса с правильными значениями  условий, т.е. если строка, то в кавычках, если дата - то в решетках и все такое. На этапе формирования запроса можешь вытворять все что угодно.

Если хочешь вместо этого использовать параметры запросов, то для этого тебе надо создать запрос заранее в самом Аксессе или при помощи DDL или ADOX, объявив при этом параметры в данном случае уже процедуры. Извлекать данные тогда надо будет с использованием объекта Command. Но насколько я понял тебе лучше голову этим пока не забивать а впрочем будет интерес - расскажу.

Ответить

Страница: 1 | 2 |

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



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