0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 77
1

SLQ запрос на visual basic 2008

16.10.2010, 01:36. Показов 1035. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.
Пытаюсь кодить на сабже. Возникла некая трабла.
запросом вывожу содержимое csv файла:

n1;n2;n3;n4
фигня в томате;вася;50310;ABCDEF01.GIF
фигня под майонезом;петя;30310;ABCDEF02.GIF
фигня без ничего;грыша;q30310;ABCDEF03.GIF

и т.д.

кусок кода:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Path = "c:\"
            FileName = "1.csv"
 
            cnn = CreateObject("ADODB.Connection")
            With cnn
                .ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" _
                & Path & ";Extensions=asc,csv,tab,txt;"
                .Open()
 
            End With
 
            SQLstr = "SELECT * FROM [" & FileName & "] where (n1 like '%" & Str(EnterBox1.Text) & _
             "%' or n3 like '%" & Str(EnterBox1.Text) & "%')"
            rs = cnn.Execute(SQLstr)
            i = 0
            Do While rs.EOF = False
                A(0, i) = Trim(rs("n1").value & "")
                A(1, i) = Trim(rs("n2").value & "")
                A(2, i) = Trim(rs("n3").value)
                A(3, i) = Trim(rs("n4").value & "")
                ListBox1.Items.Add(A(0, i))
                rs.MoveNext()
                i = i + 1
                ReDim Preserve A(3, i)
            Loop
Когда доходит до строчки: фигня без ничего;грыша;q30310;ABCDEF03.GIF, в рекордсет вываливается значение поля n3=Null, и соответственно выдает ошибку: "Приведение типа "|DBNull" к типу "String" является недопустимым." Объясните как быть, почему запрос не воспринимает поле n3 как текст, а пытается сделать его числовым? Причем, если проставить перед всеми значениями поля n3 букву или символ (не число), то все будет ок. Можно конечно ставить в файле символ перед полем, затем программно его отрезать, а нет ли более цивилизованного решения?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.10.2010, 01:36
Ответы с готовыми решениями:

литература по visual basic 2008
может кто-то посоветовать? искал долгое время в интернете но все на английском, а с ним у меня...

ошибка в Visual Basic 2008
в Visual Basic 2008 (лицензия) пытаюсь создать новый проект у мя выдает ожибку типа "данный доступ...

Visual Basic 2008 express edition
у меня такой вопрос в чем различие между Professional и express? :)

Замена данных (Visual Basic 2008)
Программа получает HTML код, в котором есть такие строки: <img...

3
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,223
16.10.2010, 23:56 2
Начнём с того, что это раздел VB, а 2008 это NET. Стало быть другой раздел.
А на счёт цивилизованности - вопрос спорный. Некоторые считают, что забивать гвозди микроскопом вполне цивилизованно. Так как делать это молотком слишком тривиально.
Лично я считаю, что открывать текстовые файлы проще без ADODB, к формату запроса которого довольно много требований. В этом случае я бы считал фаил целиком:
Visual Basic
1
2
3
4
5
6
7
8
9
   Open File For Binary As #1 
      CF = Input(FileLen(File), 1)   
   Close #1 
'потом разбил на строки:
Dim ArrayLines() as  String 
ArrayLines = Split(CF, vbNewLine) 
'и каждую строку на элементы:
Dim Word() as  String 
Word = Split(ArrayLines(0), " ")
Но некоторые говорят, что это "неправильно"
0
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 77
18.10.2010, 23:00  [ТС] 3
Цитата Сообщение от Alex77755 Посмотреть сообщение
Лично я считаю, что открывать текстовые файлы проще без ADODB, к формату запроса которого довольно много требований. В этом случае я бы считал фаил целиком:...
[
Сорри за не тот раздел.

По теме: а как быстро будет работать этот код для файла из 65тысяч строчек?
0
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,223
19.10.2010, 08:27 4
В теории я слаб - не учился, но думаю, что чтение файла не зависит от способа.
Вот если бы строчки были одинаковой длинны, то можно было бы значительно ускорить работу считывая блоками в бинарном режиме.
0
19.10.2010, 08:27
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2010, 08:27
Помогаю со студенческими работами здесь

Вывод в файл в Visual Basic 2008
Здравствуйте! Имеет место быть программа, вычисляющая численно распределение тепла. Для того,...

учебники по visual basic 2008
Привет всем. Подскажите пожалуйста где можно бесплатно скачать или прочитать онлайн хороший учебник...

Visual Basic 2008 глюк с DataSet
Привет всем! может я туплю, может VB, помогите разобраться. Пишу простую прогу для управления БД...

Где почитать про Visual Basic 2008
Всем добрый день, сравнительно недавно начал изучать вб 2008, сделал только одну программу самую...

Какие учебники порекомендуете по Visual Basic 2008
Я через 2 недели начинаю учится на програмиста в Дании, но так как ничего не знаю на данный момент...

Вызов другой формы в Visual Basic 2008
Задача заключается в следующем, нужно вызвать из формы1 нажав на кнопочку1 форму2. При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru