Solved

MySQL / ASP - Invalid use of Null

Posted on 2009-07-08
8
764 Views
Last Modified: 2012-06-21
I am getting an "invalid use of null" error with the following code.

cottage_array = split((enquiries.Fields.Item("enquirycottage").Value),",")

There is definitely a value in the column.

If I do this instead I don't get the error:

dim str_enq : str_enq = (enquiries.Fields.Item("enquirycottage").Value)
cottage_array = split(str_enq,",")

I am using MySQL 5.1.

Any ideas..?
0
Comment
Question by:Orroland
  • 4
  • 3
8 Comments
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24808930
you have to first check if the field value is null or not.

this might work as shortcut:
cottage_array = split(("" & enquiries.Fields.Item("enquirycottage").Value),",")

Open in new window

0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24808933
otherwise:
dim v
v = ""
if not isnull(enquiries.Fields.Item("enquirycottage").Value) then
  v = enquiries.Fields.Item("enquirycottage").Value
end if
cottage_array = split(v,",")

Open in new window

0
 

Author Comment

by:Orroland
ID: 24808971
Thanks for the amazingly fast response.

Yes, I see that this workaround will fix the problem.  However, I don't understand why it is happening.  The field is a MySQL text field and DEFINITELY has a value.

If have just found that even if I do a response.write of the field value before the split() it works.  It seems that I need to extract the field value before it will work.
0
Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24808986
text field, you say? which size?
via odbc driver? which version?

that could be the problem... with the newest mysql odbc driver, or better the oledb provider, it should work better.
0
 

Author Comment

by:Orroland
ID: 24809095
My connection string:

driver={MySQL ODBC 5.1 Driver};server=xxx;uid=xxx; pwd=xxx;database=xxx;option=3;

How do I use the OLEDB provider?
0
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 24809117
0
 

Author Comment

by:Orroland
ID: 24809251
OK, I have downloaded, installed and activated their Provider.

I now just get a (very unhelpful) error when I try to open a recordset:

800410ff

My new connection string is:

Provider=MySQL Provider; Data Source=xxx; User ID =xxx; Password=xxx; Initial Catalog=xxx;

Does this look OK?
0
 
LVL 9

Expert Comment

by:rg20
ID: 24809619
I seem to recall an error with Oracle readers that once you read the value, you cant read it again, hence a null.

you might store it to a local variable then split it.  hence you dont' get the error
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

All XML, All the Time; More Fun MySQL Tidbits – Dynamically Generate XML via Stored Procedure in MySQL Extensible Markup Language (XML) and database systems, a marriage we are seeing more and more of.  So the topics of parsing and manipulating XM…
This guide whil teach how to setup live replication (database mirroring) on 2 servers for backup or other purposes. In our example situation we have this network schema (see atachment). We need to replicate EVERY executed SQL query on server 1 to…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question