Показать сообщение отдельно
Старый 07.10.2012, 16:59   #1
PackegerX
Нуждающийся
 
Аватар для PackegerX
 
Регистрация: 15.01.2010
Сообщений: 58
Написано 13 полезных сообщений
(для 34 пользователей)
Значения = 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
В чем проблема,не пойму, подскажите.
(Offline)
 
Ответить с цитированием