C++ && Mysql

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Yaponchick, 9 авг 2006.

Статус темы:
Закрыта.
  1. Yaponchick

    Yaponchick Гость

    Помогите пожайлуста, хочу познать С++, вот решил с чего-то приближенного.
    Как можно организовать связь BCB6 & MySQL без использования ODBC.
    Будьте добры, с примерами пожайлуста.
     
  2. Yaponchick

    Yaponchick Гость

    Для: sdriver
    Подключил, а дальше как ?! =)
     
  3. sdriver

    sdriver Гость

    Зайди на страницу автора -- там все есть с примерами только на VB :

    Помощь по основным методам и свойствам контрола


    Методы

    AddColumn(column As Integer, mask As Integer, fmt As Integer, Width As Integer, name As String, name_max As Integer, iImage As Integer, iOrder As Integer) As Integer
    Добавляет столбец. Свойство OwnerData=False.
    column - номер столбца
    Width - ширина
    name - заголовок столбца
    name_max - количество символов заголовка, если указать 0 то будет 255
    остальные параметры равны 0
    или смотри в MSDN "List-View Control Reference"

    AddRow(row As Long, text0column As String, mask As Integer, state As Integer, stateMask As Integer, cchTextMax As Integer, iImage As Integer, iIndent As Integer, iGroupId As Integer, cColumns As Integer, puColumns As Integer) As Integer
    Добавляет строку. Свойство OwnerData=False.
    row - номер строки
    text0column - текст столбца 0, может быть пустая строка.
    cchTextMax - количество символов текста, если указать 0 то будет 255
    остальные параметры равны 0
    или смотри в MSDN "List-View Control Reference"

    ChangeUser(User As String, Password As String, DataBase As String) As Boolean
    Смена пользователя.
    User - логин
    Password - пароль
    DataBase - название базы
    Более полное описание смотри в документации MySQL C API функция mysql_change_user

    ClearIntegralRecordSet()
    Освобождает память после использования IntegralCursor. Свойство OwnerData=True.

    Close() As Boolean
    Закрывает активное соединение, если был выполнен метод Open.

    DeleteAllColumns() As Integer
    Удаляет все столбцы. Свойство OwnerData=False.

    DeleteAllRows() As Boolean
    Удаляет все строки. Свойство OwnerData=False.

    DeleteColumn(iCol As Integer) As Boolean
    Удаляет указанный столбец. Свойство OwnerData=False.
    iCol - номер удаляемого столбца

    DeleteRow(iRow As Integer) As Boolean
    Удаляет указанную строку. Свойство OwnerData=False.
    iRow - номер удаляемой строки

    Drag([Action])

    Execute(SQLCommand As String) As Long
    Выполняет SQL команду. Если возвращаемое значение отлично от 0, то это код ошибки. Коды ошибок смотри в документации MySQL.
    SQLCommand - текст SQL команды

    FindStrItem(iStart As Long, StrItem As String) As Long
    Поиск текста по первому столбцу. Возвращает номер найденной строки. Свойство OwnerData=False.
    iStart - начальная строка для поиска
    StrItem - текст для поиска

    GetCellTextSQL(row As Long, column As Long) As String
    Возвращает текст из указанной ячейки. Свойство OwnerData=True.
    row - строка
    column - столбец

    GetCountPerPage() As Integer
    Возвращает количество видимых строк.

    GetHotItem() As Long
    Возвращает номер подсвеченной строки.

    GetItemCount() As Long
    Возвращает общее количество строк.

    GetItemText(iItem As Long, iSubItem As Integer, cchTextMax As Integer) As String
    Возвращает текст из указанной ячейки. Свойство OwnerData=False.
    iItem - строка
    iSubItem - столбец
    cchTextMax - максимальное количество символов, если указать 0 то будет 255

    GetSelectedCount() As Integer
    Возвращает количество выделенных строк.

    GetSelectionMark() As Long
    Возвращает номер выделенной строки.

    IntegralCursor(QueryString As String, NameFields As String) As Boolean
    Отображает результат запроса на экране. Выделяет память для содержимого результата. Свойство OwnerData=False.
    QueryString - строка запроса
    NameFields - строка с названиями столбцов разделенных "|"(например "Код|Имя|Свойство"), если пустая - названия берутся из запроса

    ListTables(DataBase As String) As String
    Возвращает строку содержащую список названий таблиц в указанной базе. Символ разделитель "|".
    DataBase - название базы

    Move(Left As Single, [Top], [Width], [Height])
    Двигает контрол по форме.

    MyInfo() As String
    Возвращает некоторую информацию из MySQL. Устанавливает для запроса информации свое соединение(после получения информации закрывает соединение). Должны быть указаны свойства: Host, User, Password, Port. Иначе пытается установить соединение с параметрами по-умолчанию.

    MysqlCreateDb(DataBase As String, ShowErrorMessage As Boolean) As Integer
    Создает базу данных.
    DataBase - название базы
    ShowErrorMessage - отображать или нет сообщение об ошибке

    MysqlDropDb(DataBase As String, ShowErrorMessage As Boolean) As Integer
    Удаляет базу данных.
    DataBase - название базы
    ShowErrorMessage - отображать или нет сообщение об ошибке

    MysqlReload(ShowErrorMessage As Boolean) As Integer
    Перегружает системные таблицы MySQL. Подробнее смотри документацию MySQL C API функция mysql_reload.
    ShowErrorMessage - отображать или нет сообщение об ошибке

    MysqlSelectDb(DataBase As String, ShowErrorMessage As Boolean) As Integer
    Устанавливает текущей базу данных.
    DataBase - название базы
    ShowErrorMessage - отображать или нет сообщение об ошибке

    MysqlStatus(PtrMYSQL As Long) As String
    Возвращает состояние соединения. Подробнее смотри документацию MySQL C API функция mysql_stat.
    PtrMYSQL - указатель на соединение, по-умолчанию равен 0

    NamesFields(NameTable As String) As String
    Возвращает строку с названиями полей указанной таблицы разделенных "|".
    NameTable - название таблицы

    Open() As Boolean
    Устанавливает соединение с сервером MySQL. Должны быть указаны свойства: Host, User, Password, Port (можно указать DataBase). Иначе пытается установить соединение с параметрами по-умолчанию.

    QueryInString(QueryString As String) As String
    Возвращает строку с результатом запроса. Значения полей разделены символом "|". В запросе должно быть указано уникальное значение поля, чтобы результат содержал одну строку.
    QueryString - строка запроса

    RedrawItems(iFirst As Integer, iLast As Integer) As Boolean
    Перерисовывает строки. Подробнее смотри в MSDN "List-View Control Reference" макрос ListView_RedrawItems.
    iFirst - начальная строка для перерисовки
    iLast - конечная строка для перерисовки

    RefreshCursor(QueryString As String) As Long
    Обновляет результат запроса. Первый раз запрос должен быть выполнен ViewCursor. Свойство OwnerData=True.
    QueryString - строка запроса

    RefreshIntegralCursor(QueryString As String, NameFields As String, CreateColumns As Boolean) As Boolean
    Обновляет результат запроса. Первый раз запрос должен быть выполнен IntegralCursor. Свойство OwnerData=False.
    QueryString - строка запроса
    NameFields - названия столбцов разделенные "|"
    CreateColumns - создавать столбцы заново

    RefreshQuery(QueryString As String) As Long
    Обновляет результат запроса. Первый раз запрос должен быть выполнен ViewQuery. Свойство OwnerData=False.
    QueryString - строка запроса

    Scroll(horizontal As Integer, vertical As Integer) As Boolean

    Search(FindStr As String, StartRow As Long, StopRow As Long, StartField As Long, StopField As Long, StepOnFind As Boolean) As Long
    Поиск для ViewCursor. Возвращает номер строки с искомым текстом. Свойство OwnerData=True.
    FindStr - строка для поиска
    StartRow - начальная строка для поиска
    StopRow - конечная строка для поиска
    StartField - начальный столбец для поиска
    StopField - конечный столбец для поиска
    StepOnFind - переходить на найденную строку

    SearchIntegralCursor(SearchString As String, StartRow As Long, StopRow As Long, StartField As Long, StopField As Long, StepOnFind As Boolean) As Long
    Поиск для IntegralCursor. Возвращает номер строки с искомым текстом. Свойство OwnerData=False.
    SearchString - строка для поиска
    StartRow - начальная строка для поиска
    StopRow - конечная строка для поиска
    StartField - начальный столбец для поиска
    StopField - конечный столбец для поиска
    StepOnFind - переходить на найденную строку

    SetActiveItem(iItem As Long) As Boolean
    Выделяет указанную строку.
    iItem - номер строки

    SetAutoSizeColumn(column As Integer) As Boolean
    Устанавливает ширину колонок по содержимому.
    column - номер колонки, если -1 тогда все

    SetBkColor(BackgroundColor As OLE_COLOR) As Boolean

    SetColumn(iCol As Integer, Caption As String, Width As Integer, Align As Integer) As Boolean
    Устанавливает название, ширину и размещение текста названия для указанного столбца
    iCol - номер столбца
    Caption - название
    Width - ширина(-1 - ширина не меняется)
    Align - разворот()

    SetFocus()

    SetHotItem(iItem As Integer) As Integer
    Подсвечивает указанную строку.
    iItem - номер строки

    SetHoverTime(HoverTime As Integer) As Integer
    Устанавливает время через которое будет выделена строка под курсором мыши.
    HoverTime - время в миллисекундах

    SetItemState(iItem As Integer, state As Integer, mask As Integer)
    Устанавливает состояние строки.
    iItem - строка
    state - состояние(дополнительно смотри в MSDN макрос ListView_SetItemState)
    mask - маска(дополнительно смотри в MSDN макрос ListView_SetItemState)

    SetTextCell(column As Long, row As Long, Text As String, mask As Integer, state As Integer, stateMask As Integer, cchTextMax As Integer, iImage As Integer, iIndent As Integer, iGroupId As Integer, cColumns As Integer, puColumns As Integer) As Boolean
    Установливает текст ячейки. Свойство OwnerData=False.
    column - колонка
    row - строка
    Text - новый текст
    остальные параметры 0 или смотри MSDN макрос ListView_SetItem(четыре последних не используются)

    ShowWhatsThis()

    ViewCursor(QueryString As String, CaptionFields As String) As Boolean
    Отображает результат запроса. Свойство OwnerData=True.
    QueryString - строка запроса
    CaptionFields - строка названий колонок разделенных "|"

    ViewQuery(QueryString As String, CaptionFields As String) As Long
    Отображает результат запроса. Свойство OwnerData=False.
    QueryString - строка запроса
    CaptionFields - строка названий колонок разделенных "|"

    ViewTable(DataBase As String, Table As String, ListFields As String, Sort As String) As Long
    Отображает содержимое таблицы. Загрузка результата происходит в отдельном процессе, поэтому просмотр результата возможен до окончания загрузки. Свойство OwnerData=False.
    DataBase - название базы
    Table - название таблицы
    ListFields - список полей
    Sort - окончание запроса, может быть пустая строка, условие или сортировка

    WmSetText(hWnd As OLE_HANDLE, Text As String) As Boolean
    Устанавливает текст в окне с указанным handle.
    hWnd - handle окна, подробнее смотри MSDN WM_SETTEXT

    ZOrder([Position])


    Свойства

    AutoSize As Boolean
    При установке в True размеры колонок соответсвуют содержимому.

    CurrentColumn As Integer
    Содержит номер текущей колонки.

    CurrentPositionCursor As Long
    Позиция курсора(последняя строка на экране). Свойство OwnerData=True.

    DataBase As String
    Название базы для соединения.

    FindCountColumns As Integer

    FindValueStr As String

    Height As Single

    HelpContextID As Long

    Host As String
    Название или IP компьютера с MySQL сервером для соединения.

    hWnd As OLE_HANDLE

    IsFindCurrentColumn As Boolean

    LastInsertId As Long
    Содержит последний уникальный номер послевыполнения команды "INSERT".

    Left As Single

    NoSortHeader As Boolean
    Отключает событие щелчка на названиях колонок.

    OwnerData As Boolean
    Это свойство может быть выставлено только во время разработки.
    True - работает в виртуальном режиме. False - в обычном. Подробнее смотри в MSDN.

    Password As String
    Пароль пользователя для соединения.

    Pid As Long
    Pid текущего соединения. Подробнее смотри документацию MySQL.
    Port As Long
    Порт для соединения.

    ProgressShow As Boolean
    Показывать или нет прогресс заполнения контрола.

    PtrMYSQL As Long
    Указатель на соединение MySQL. Если установить PtrMYSQL одного контрола другому, то нет необходимости для последнего выполнять методы Open и Close(все контролы должны иметь свойство OwnerData равным False).

    Right As Long

    ShowMes As Boolean
    Выводить или нет сообщения об ошибках.

    TabIndex As Integer

    TabStop As Boolean

    Tag As String

    Text As String

    ToolTipText As String

    Top As Single

    ToSearch As Boolean
    Выполнять или нет поиск.

    User As String
    Логин пользователя для соединения.

    Visible As Boolean

    WhatsThisHelpID As Long

    Width As Single


    События

    Click()
    Щелчок левой кнопкой мыши.

    ColumnClick(column As Integer)
    Щелчок мыши на названии колонки.
    column - номер колонки

    CopyToClipboard(column As Long, row As Long, Text As String)
    Щелчок мыши в контекстном меню на пункте Копировать.
    column - текущая колонка
    row - текущая строка
    Text - текст в текущей ячейке

    DblClick()
    Двойной щелчок левой кнопкой мыши.

    DragDrop(Source As Control, x As Single, y As Single)

    DragOver(Source As Control, x As Single, y As Single, state As Integer)

    FindNewValue(CurrentValueStr As String)
    Щелчок мыши в контекстном меню на пункте Поиск->Новый элемент. Свойство OwnerData=True.
    CurrentValueStr - текст текущей ячейки

    FindValueCol(CurrentColumn As Integer, CurrentRow As Long, CellValueStr As String)
    Щелчок мыши в контекстном меню на пункте Поиск->По значению столбца. Свойство OwnerData=True.
    CurrentColumn - текущая колонка
    CurrentRow - текущая строка
    CellValueStr - текст текущей ячейки

    GotFocus()

    ItemActivate(HwndFrom As OLE_HANDLE, IdFrom As Long, Code As Long, iItem As Long, iSubItem As Integer, uNewState As Long, uOldState As Long, uChanged As Long, x As Long, y As Long, lParam As Long, uKeyFlags As Long)

    KeyDown(KeyCode As Integer, Shift As Integer)

    KeyPress(KeyAscii As Integer)

    KeyUp(KeyCode As Integer, Shift As Integer)

    LostFocus()

    MnuDinamicEdit(CurrentColumn As Long, CurremtRow As Long, Text As String)
    Щелчок мыши в контекстном меню на пункте Редактировать. Свойство OwnerData=True.
    CurrentColumn - колонка под курсором мыши
    CurremtRow - строка под курсором мыши
    Text - текст ячейки под курсором мыши

    MnuStaticEdit(column As Long, row As Long, Text As String)
    Щелчок мыши в контекстном меню на пункте Редактировать. Свойство OwnerData=False.
    column - колонка под курсором мыши
    row - строка под курсором мыши
    Text - текст ячейки под курсором мыши

    MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

    MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

    MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)

    OdCacheHint(HwndFrom As OLE_HANDLE, IdFrom As Integer, Code As Integer, StartItem As Long, EndItem As Long)

    ReadyStateChange()

    StaticSearchNew(CurrentValueStr As String)
    Щелчок мыши в контекстном меню на пункте Поиск->Найти. Свойство OwnerData=False.
    CurrentValueStr - текст текущей ячейки

    Validate(Cancel As Boolean)
     
  4. 62316e

    62316e Гость

    Попробуй DbExpress который идет в дист. с билдером.
    Там же и примеры есть(вроди).
     
  5. Yaponchick

    Yaponchick Гость

    С MySQL разобрался.

    Теперь вопрос, который меня мучиет очень давно.
    допустим мы делаем бесконечный цикл, во время выполнения его, нажать на кнопки в форме невозможно, как же тогда делают встроенную много поточность ? (во время беск. цикла, можно работать спокойно)
     
  6. sdriver

    sdriver Гость

    А что такое бесконечный цикл -- поток:)Нажми ctr+alt+del и увидишь сколько их в системе.
     
  7. Yaponchick

    Yaponchick Гость

    Для: sdriver
    Приведи пример пожайлуста, использования Threads в BCB, буду очень благодарен =)
     
  8. sdriver

    sdriver Гость

    На BCB примеров нет. Создай класс от TThreads и просмотри все его методы и свойства и хелп почитай.
     
  9. 62316e

    62316e Гость

    Для: Yaponchick
    Ну можно проще сделать: Application->ProccesMessages (точно не помню но вроди так).
     
  10. 62316e

    62316e Гость

    Для: sdriver
    BCB6\Examples\Apps\Threads\
     
  11. sdriver

    sdriver Гость

    Имелось ввиду у меня под рукой ;)
     
Загрузка...
Похожие Темы - C++ Mysql
  1. franko
    Ответов:
    5
    Просмотров:
    1.901
  2. Nadia_IT
    Ответов:
    0
    Просмотров:
    24
  3. kmm96
    Ответов:
    1
    Просмотров:
    25
  4. TriXel_01
    Ответов:
    5
    Просмотров:
    103
  5. acs-nexus
    Ответов:
    0
    Просмотров:
    93
Статус темы:
Закрыта.

Поделиться этой страницей