Страница: 1 | 2 |
Есть Text и grid. В Text'e выводится фамилия друга. Так вот как мне нужно построить sql - запрос так чтобы в гриде выводился email (Их можит быть два) этого друга. Спасибо!
SELECT emailAddress FROM yourTable WHERE friendName = 'his name' Вообщето это даже не азбука, трудитесь люди хоть раз в неделю читать хелпы! RTFM Да кстати не подскажите где достать Activex Grid который поддерживает DAO? Чтобы составить подобный шедевр хелпы не нужны в принципе. Да и про хелпы я просто обобщил. По SQL'у в инете информации полно. В том числе и MSDN'овской. А зачем тебе хитрые контролы? Впрочем я не навязываю своб точку зрения, но по моему гораздо проще и легче получить и обработать рекордсет в любой стандартный контрол нужным тебе образом. >гораздо проще и легче получить и обработать рекордсет в любой стандартный контрол нужным тебе образом (Писал hadgehog) Не я просто еще путаюсь в ADO мне легче пока с AO в ADO не могу понять как там SQL работает..=( вроде пишу правильнно Sql = "SELECT email FROM email WHERE id_user =" + text1 Можит просто ADO не можит из text'a брать id, а с AO всё идет норма. Да а насчет Activex'a Grida мне нужно редактировать email. А вобще я еще только начал изучать Visual Basic и БД так что я могово ещё не понемаю... > Можит просто ADO не можит из text'a брать id, а с AO Ничего сам ADO впрочем как и DAO ни из какиз тестов не берет он просто выполняет твои команды применительно к БД. И если он делает что-то не то, то только от того, что ты же что-то где-то упустил Hedgehog, вы случайно не качали flexgridplus c этого сайта? если да, то как подключить его к Data? Спасибо! Качать то я его качал, да только использовать не стал - все в нем хорошо, но нельзя делать объединения ячеек как в обычном флексе. А у меня на этом все оформление флексов завязано. Так что юзаю до сих пор стандартный флекс. А подключать его не пробовал. Можно считать это моим небольшим бзиком, но не люблю я всю эту автоматизацию. Мне лучше получить чистый рекордсет и распотрошить его так как мне надо И с подключением к данным у Плюса та же история что и с Merge. Свойство DataSource у него бесследно пропало. К сожалению не помню, чьего творения Плюс, но автору стоило бы обратить внимание и на подобные "мелочи". Контрол то в целом классный, но... У меня один вопрос к !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 + "' Возможно у тебя из-за этого не получается Страна Советов начинается: Совет первый: если у тебя проблемы с написанием запроса (это вполне возможно с написанием запроса из нескольких таблиц используя Join), открывай Аксесс и в конструкторе запросов там разве только пингвин дикий запрос не составит любой сложности, копируй его SQL-команду и пользуй. Совет второй: не надо никаких преобразований типов, как советует тебе vitus. Запрос ты передаешь все равно как строку. Главное убедись, что то что ты подставляешь из текста - действительно число и что поле в таблице у тебя (надеюсь) числовое. И еще уточнение - спокойно и обстоятельно напиши что же ты хочешь иметь на выходе и скакой целью. Честно говоря я пока толком из твоих объяснений не могу понять - какие-то невидимые поля в которые зачем-то должны отбираться ид друзей и все такое... Давай с самого начала и обстоятельно как техническое задание Ну вот постараюсь обьяснить. На Form'e будут находиться 3 textboxa в них будет выводиться "Имя" "Фамилия" "Отчество" с низу под text-ами будет находиться Grid в нем выводиться email (только не все мыла, а того кто отображаеться в text-e) Так вот как мне зделать это с Adodc? если не влень можишь весь код написать чтобы попотробние . Да чуть не забыл можно ли в запрос переменную всавить если да то как ? Спасибо! Понять не могу, зачем ты привязался к DBGrid'ам. Я так понимаю, ты хочешь вводить имя, фамилию и прочее и получать емейл. Смысла в данных действиях я лично не вижу особого, но тем неменее... C помощью ADO это будет примерно так: Dim Conn as new ADODB.Connection dim RS as new ADODB.Recordset do until rs.eof rs.close set rs=nothing Вот собственно самый элементарный спсоб получить данные как есть. Только ни под какие контролы я подстраиваться не собираюсь, если ты по прежнему хочешь работать через них - твое право. На мой взгляд главное получить правильные данные в правильное время и в правильном месте. А то что я изобразил дебугом, можно с успехом засунуть в любой контрол или обработать любым другим образом. На счет переменных - в данном случае ты должен сформировать правильную строку запроса с правильными значениями условий, т.е. если строка, то в кавычках, если дата - то в решетках и все такое. На этапе формирования запроса можешь вытворять все что угодно. Если хочешь вместо этого использовать параметры запросов, то для этого тебе надо создать запрос заранее в самом Аксессе или при помощи DDL или ADOX, объявив при этом параметры в данном случае уже процедуры. Извлекать данные тогда надо будет с использованием объекта Command. Но насколько я понял тебе лучше голову этим пока не забивать а впрочем будет интерес - расскажу.
Вопрос: ADO и SQL?
Добавлено: 24.04.03 23:50
Автор вопроса: !DEN! | ICQ: 276572424
Ответы
Всего ответов: 22
Номер ответа: 1
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #1
Добавлено: 25.04.03 02:19
Номер ответа: 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
Номер ответа: 4
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #4
Добавлено: 26.04.03 01:13
Номер ответа: 5
Автор ответа:
!DEN!
ICQ: 276572424
Вопросов: 7
Ответов: 33
Профиль | | #5
Добавлено: 26.04.03 15:47
Номер ответа: 6
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #6
Добавлено: 28.04.03 13:01
Номер ответа: 7
Автор ответа:
!DEN!
ICQ: 276572424
Вопросов: 7
Ответов: 33
Профиль | | #7
Добавлено: 28.04.03 23:25
Номер ответа: 8
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #8
Добавлено: 28.04.03 23:37
Номер ответа: 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-сайт:
Профиль | | #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" и вот что еще у меня почемуто нет BDrida! Можит чем нибуть поможишь или подскажишь как чё зделать!
Номер ответа: 12
Автор ответа:
vitus
Вопросов: 9
Ответов: 43
Web-сайт:
Профиль | | #12
Добавлено: 29.04.03 09:38
Номер ответа: 13
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #13
Добавлено: 29.04.03 11:20
Номер ответа: 14
Автор ответа:
!DEN!
ICQ: 276572424
Вопросов: 7
Ответов: 33
Профиль | | #14
Добавлено: 29.04.03 23:31
Номер ответа: 15
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #15
Добавлено: 30.04.03 02:53
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & your_path & ";" 'если у тебя не Аксесс то и строка соответственно должна быть малость другой
rs.open "SELECT emailAddress FROM yourTable WHERE firstName = '" & txtFirstName & "' AND midName='" & txtMidName & "' AND lastName='" & txtLastName, Conn
debug.print rs("emailAddress") 'здесь ты имеешь строки с адресами - вуаля!
rs.movenext
loop
set conn=nothing