forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Модули для BlitzMax (http://forum.boolean.name/forumdisplay.php?f=105)
-   -   Значения = Null (Brucey's MySQL) (http://forum.boolean.name/showthread.php?t=17344)

PackegerX 07.10.2012 16:59

Значения = Null (Brucey's MySQL)
 
Mysql version: 5.05.25
Запрашиваю у базы значения всей таблицы, потом пытаюсь прочитать но в дебаг выводится:
Код:

DebugLog:0. Name = 
DebugLog:0. Name = 
DebugLog:0. Name =

а потом ошибка
Unhandled Exception:Attempt to access field or method of Null object

посмотрел в дебагере в значении где должны быть данные там Null тоесть данные не получились или не распознались?
Код:

record.fields[0].value = Null
а имя поля есть, например record.fields[0].name = "id" тоесть оно передалось.
Стандартный пример не работает.
Код:

SuperStrict

Framework BaH.DBMySQL
Import BRL.filesystem

Local db:TDBConnection = LoadDatabase("MYSQL", "sorcs", Null, 0, "root", "")

If Not db Then
        DebugLog("Didn't work...")
        End
End If

If db.hasError() Then
        errorAndClose(db)
End If


Local names:String[][] = [ ..
        [ "Alfred", "Aho" ],  ..
        [ "Brian", "Kernighan" ], ..
        [ "Peter", "Weinberger" ] ]

If db.isOpen() Then

        db.executeQuery("DROP TABLE if exists person")
       
        Local s:String = "CREATE TABLE if not exists person (id integer primary key AUTO_INCREMENT, " + ..
          " forename varchar(30)," + ..
          " surname varchar(30), stamp datetime )"

        db.executeQuery(s)

        If db.hasError() Then
                errorAndClose(db)
        End If

        For Local i:Int = 0 Until names.length
                Local query:TDatabaseQuery = db.executeQuery("INSERT INTO person values (NULL, '" + names[i][0] + "', '" + names[i][1] + "', now())")

                DebugLog "LastInserted id = " + query.lastInsertedId()
               
                If db.hasError() Then
                        errorAndClose(db)
                End If
        Next

        Local query:TDatabaseQuery = db.executeQuery("SELECT * from person")
        If db.hasError() Then
                errorAndClose(db)
        End If

        While query.nextRow()
                Local record:TQueryRecord = query.rowRecord()
               
                DebugLog(record.getInt(0) + ". Name = " + record.getString(1) + " " + record.getString(2))
                DebugLog TDBDateTime(record.value(3)).format() 'тут вылет потому что record.value(3) = null
        Wend
       
                       
        db.close()
       
End If

Function errorAndClose(db:TDBConnection)
        DebugLog(db.error().toString())
        db.close()
        End
End Function

В чем проблема,не пойму, подскажите.

PackegerX 07.10.2012 21:26

Ответ: Значения = Null (Brucey's MySQL)
 
Вложений: 1
запрос из консоли дает положительный результат, запрос из пхп дает положительный результат.
Код:

mysql> select * from person;
+----+----------+------------+---------------------+
| id | forename | surname    | stamp              |
+----+----------+------------+---------------------+
|  1 | Alfred  | Aho        | 2012-10-07 20:29:20 |
|  2 | Brian    | Kernighan  | 2012-10-07 20:29:20 |
|  3 | Peter    | Weinberger | 2012-10-07 20:29:20 |
+----+----------+------------+---------------------+
3 rows in set (0.00 sec)

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

PackegerX 09.10.2012 01:56

Ответ: Значения = Null (Brucey's MySQL)
 
Вложений: 2
Поставил другой модуль, не от Брюса - работает нормально.
Код:

Xors3D engine is loaded!
DebugLog:1 Entrys:
DebugLog:Name:  DefaultPlayer
DebugLog: | HP: 98.9996033
DebugLog: | HPMAX: 97.6496964
DebugLog: | MP: 100.000000
DebugLog: | MPMAX: 100.000000
DebugLog: | HPREGEN: 0.0299999993
DebugLog: | MPREGEN: 0.0299999993
DebugLog: | FIRE: 19
DebugLog: | WATER: 21
DebugLog: | WIND: 22
DebugLog: | EARTH: 19
DebugLog: | ATKSPD: 1.00000000
DebugLog: | MVSPD: 1.00000000
DebugLog: | LVL: 1
DebugLog: | EXP: 3
Xors3d Engine is released



Часовой пояс GMT +4, время: 10:07.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot